目录
一、柱状图/条形图基础
例1:bar(y)为y中的每个元素创建一个条形图。如果y是矩阵,则bar根据y中的行对条形图进行分组。分别以纵向和横向为例:
y = [75 91 105 123.5 131 150 179 203 226 249 281.5];
bar(y);
y = [75 91 105 123.5 131 150 179 203 226 249 281.5];
barh(y);
例2:bar(x,y)在x指定的位置绘制条形图。
x = 1900:10:2000;
y = [75 91 105 123.5 131 150 179 203 226 249 281.5];
bar(x,y);
例3:bar(___,width)设置柱状图相对宽度,用于控制组内柱状图的间距。将宽度指定为标量值。将此选项与前面语法中的任何输入参数组合一起使用。
y = [75 91 105 123.5 131 150 179 203 226 249 281.5];
bar(y,0.4)
例4:bar(___,style)指定条形图组的样式。例如,使用“stacked”将每组显示为一个多色条。
y = [2 2 3; 2 5 6; 2 8 9; 2 11 12];
bar(y)
y = [2 2 3; 2 5 6; 2 8 9; 2 11 12];
bar(y,'stacked')
例5:bar(___,color)设置所有条形图的颜色。例如,红色条使用“r”。
y = [75 91 105 123.5 131 150 179 203 226 249 281.5];
bar(y,'r')
例6:bar(___,Name,Value)使用一个或多个名称-值对参数修改条形图。这些设置适用于打印的所有条形图。例如,使用“EdgeColor”、“lack”以黑色勾勒所有条形图。
y = [75 91 105 123.5 131 150 179 203 226 249 281.5];
bar(y,'FaceColor',[0 .5 .5],'EdgeColor',[0 .9 .9],'LineWidth',1.5)
例7:bar(ax,___)绘制到由ax指定的轴中,而不是绘制到当前轴(gca)中。选项ax可以位于前面语法中的任何输入参数组合之前。
例8:b=bar(___)返回一个或多个bar对象。如果y是一个向量,则bar将创建一个bar对象。如果y是矩阵,则bar为每列创建一个bar对象。使用b可以在创建条形图对象后对其进行将来的修改。
y = [2 4 6; 3 4 5];
b = bar(y);
b(2).LineWidth = 2;
b(2).EdgeColor = 'red';
二、具有分布拟合的直方图(histfit)
例1:
histfit(data) 使用等于数据中元素数平方根的箱数绘制数据中值的直方图,并拟合正态密度函数。
normrnd产生正态分布随机数的函数,例normrnd(0,1,1,6)产生1行六列均值为0,标准差为1的随机数。
fitdist 获取拟合中使用的参数。
r = normrnd(10,1,100,1);
histfit(r);%可尝试histfit(r,6),观察结果
pd = fitdist(r,'Normal')%获取拟合参数
例2:betarnd 贝塔分布的随机数生成器
b = betarnd(3,10,100,1);
figure
histfit(b,10,'beta')%‘’内代表拟合方式
figure
histfit(b,10,'kernel')
figure
h = histfit(r,10,'normal')%h(1)代表柱状图,h(2)代表线条
h(1).FaceColor = [.8 .8 1];
h(2).Color = [.2 .2 .2];
三、柱状图/条形图重叠
x = [1 2 3 4 5];
temp_high = [37 39 46 56 67];
w1 = 0.5;
bar(x,temp_high,w1,'FaceColor',[0.2 0.2 0.5])
temp_low = [22 24 32 41 50];
w2 = .25;
hold on
bar(x,temp_low,w2,'FaceColor',[0 0.7 0.7])
hold off
grid on
ylabel('Temperature (\circF)')
legend({'Average High','Average Low'},'Location','northwest')
ax = gca;
ax.XTick = [1 2 3 4 5];
ax.XTickLabels = {'January','February','March','April','May'};
ax.XTickLabelRotation = 45;
四、柱状图/条形图正负填充颜色不同
data=[5 -5 6 2 -3 2 -8 6 -4 6 5 -3 -1 5 6;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15];
data=data';
hold on
for i = 1 : length(data)
if data(i,1)> 0
bar(data(i,2),data(i,1),0.5,'b') % 正数用蓝色
else
bar(data(i,2),data(i,1),0.5,'k') % 负数用黑色
end
end
五、柱状图/条形图添加数字
clc
x2=[1 2 3 4];
t1=[28 41 21 5];
t2=[29 42 22 4];
t3=[28 42 20 4];
t=[t1;t2;t3];
t=rot90(t,3)
figure
bar(x2,t)
for i = 1:length(x2)
text(x2(i)-0.3,t1(i),num2str(t1(i),'%g%%'),...
'HorizontalAlignment','center',...
'VerticalAlignment','bottom')
text(x2(i),t2(i),num2str(t2(i),'%g%%'),...
'HorizontalAlignment','center',...
'VerticalAlignment','bottom')
text(x2(i)+0.3,t3(i),num2str(t3(i),'%g%%'),...
'HorizontalAlignment','center',...
'VerticalAlignment','bottom')
end
title(' 换乘次数比例分布')
xlabel('换乘次数')
ylabel('分布比例/%')
%legend('2014','2015','2016',3)
legend({'\fontname{Times New Roman}2014','\fontname{Times New Roman}2015','\fontname{Times New Roman}2016'},'FontSize',11);
axis([0 5 0.0 50]);
set(gca,'xticklabel',{'1','2','3','4'});
六、参考内容
[1]MATLAB官方文档
[2]matlab绘制柱状图并显示数值_matlab柱状图上怎么标数据_发如雪Jay的博客-CSDN博客
[3]Matlab柱状图 不同颜色_matlab 柱状图颜色_毛发浓密的猿工的博客-CSDN博客
本文内容来源于网络,仅供参考学习,如内容、图片有任何版权问题,请联系处理,24小时内删除。