Matlab中画柱状图详细教程bar函数使用方法(二维附matlab代码)柱状图创建/位置/颜色/图例

matlab中画柱状图/条形图(bar函数)

bar(y)

bar(x,y)

bar(___,width)

bar(___,style)

bar(___,color)

bar(___,Name,Value)

bar(ax,___)

b = bar(___)

解释

bar(y) 创建一个柱状图/条形图,y 中的每个元素对应一个柱状/条形。如果 y 是矩阵,则 bar 根据 y 中的行对柱状/条形分组。

bar(x,y) 在 x 指定的位置绘制柱状/条形。

bar(___,width) 设置柱状/条形的相对宽度以控制组中各个条形的间隔。将 width 指定为标量值。可以将此选项与前面语法中的任何输入参数组合一起使用。

bar(___,style) 指定条形组的样式。例如,使用 ‘stacked’ 将每个组显示为一个多种颜色的条形。

bar(___,color) 设置所有柱状/条形的颜色。例如,使用 ‘r’ 表示红色柱状/条形。

bar(___,Name,Value) 使用一个或多个名称-值对组参数修改条形图。此设置适用于绘制的所有柱状/条形。例如,使用 ‘EdgeColor’,‘black’ 以黑色绘制所有条形的轮廓。

bar(ax,___) 将图形绘制到 ax 指定的坐标区中,而不是当前坐标区 (gca) 中。选项 ax 可以位于前面的语法中的任何输入参数组合之前。

b = bar(___) 返回一个或多个 Bar 对象。如果 y 是向量,则 bar 将创建一个 Bar 对象。如果 y 是矩阵,则 bar 将为每一列创建一个 Bar 对象。可在创建 Bar 对象后使用 b 进一步修改。

举例说明

1、创建柱状图/条形图

y = [75 91 105 123.5 131 150 179 203 226 249 281.5];
bar(y)

2、指定柱状/条形位置

指定沿 x 轴的条形位置。

x = 1900:10:2000;
y = [75 91 105 123.5 131 150 179 203 226 249 281.5];
bar(x,y)

3、指定柱状/条形宽度

将各条形的宽度设置为各条形可用总空间的 40%。

y = [75 91 105 123.5 131 150 179 203 226 249 281.5];
bar(y,0.4)

4、显示柱状/条形组

显示四个条形组,每一组包含三个条形。

y = [2 2 3; 2 5 6; 2 8 9; 2 11 12];
bar(y)

5、显示堆叠柱状图/条形图

为矩阵中的每一行显示一个条形。每个条形的高度是行中各元素之和。

y = [2 2 3; 2 5 6; 2 8 9; 2 11 12];
bar(y,'stacked')

6、使用分类数据创建柱状图/条形图

使用分类值沿 x 轴创建条形图。默认情况下,类别按字母顺序显示。

c = categorical({'apples','pears','oranges'});
prices = [1.23 0.99 2.3];
bar(c,prices)

7、指定柱状图/条形图的子图

创建带有两个子图的图窗。在上部子图中,绘制一个条形图。在下部子图中,绘制相同数据的堆叠条形图。

y = [1 2 3; 4 5 6];
ax1 = subplot(2,1,1);
bar(ax1,y)

ax2 = subplot(2,1,2); 
bar(ax2,y,'stacked')

8、指定柱状/条形颜色

y = [75 91 105 123.5 131 150 179 203 226 249 281.5];
bar(y,'m')

9、指定柱状/条形和轮廓颜色

使用 RGB 三元组设置条形内部颜色和轮廓颜色。设置条形轮廓的宽度。

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)

10、控制单个柱状/条形的颜色

可以使用 Bar 对象的 CData 属性控制单个条形的颜色。

创建一个条形图并将 Bar 对象赋给一个变量。将 Bar 对象的 FaceColor 属性设置为 ‘flat’,从而使条形图使用 CData 属性中定义的颜色。默认情况下,CData 属性预先填充由默认 RGB 颜色值组成的矩阵。要更改特定的颜色,请更改矩阵中的对应行。例如,更改第二个条形的颜色。

b = bar(rand(10,1));
b.FaceColor = 'flat';
b.CData(2,:) = [.5 0 .5];

11、使用颜色图颜色的柱状图/条形图

通过将 FaceColor 属性设置为 ‘flat’,创建一个使用颜色图颜色的条形图。然后将每个 Bar 对象的 CData 属性设置为一个整数。

y = [1 3 5; 3 2 7; 3 4 2];
b = bar(y,'FaceColor','flat');
for k = 1:size(y,2)
    b(k).CData = k;
end

12、更改特定柱状/条形序列的属性

通过三列矩阵输入创建一个条形图并返回三个条形序列对象。bar 为该矩阵中的每列创建一个条形序列。

y = [2 4 6; 3 4 5];
b = bar(y);


通过对对象数组进行索引更改特定条形序列的属性。例如,使用 b(2) 更改表示第二列 y 的条形的属性。从 R2014b 开始,您可以使用圆点表示法设置属性。如果您使用的是早期版本,请改用 set 函数。

b(2).LineWidth = 2;
b(2).EdgeColor = 'red';

13、柱状图/条形图添加图例

y = [2 2 3; 2 5 6; 2 8 9; 2 11 12];
bar(y)
legend('基于XXX的算法','基于YYY的算法','基于XXX的算法');

来源:一只努力向上的佳佳怪

物联沃分享整理
物联沃-IOTWORD物联网 » Matlab中画柱状图详细教程bar函数使用方法(二维附matlab代码)柱状图创建/位置/颜色/图例

发表评论