赞
踩
目录
bar函数的功能是绘制条形图。
- bar(y)
- bar(x,y)
- bar(___,width)
- bar(___,style)
- bar(___,color)
- bar(___,Name,Value)
- bar(ax,___)
- b = bar(___)
bar(y) 创建一个条形图,y 中的每个元素对应一个条形。如果 y 是 m×n 矩阵,则 bar 创建每组包含 n 个条形的 m 个组。
bar(x,y) 在 x 指定的位置绘制条形。
bar(___,width) 设置条形的相对宽度以控制组中各个条形的间隔。将 width 指定为标量值。可以将此选项与前面语法中的任何输入参数组合一起使用。
bar(___,style) 指定条形组的样式。例如,使用 'stacked' 将每个组显示为一个多种颜色的条形。
bar(___,color) 设置所有条形的颜色。例如,使用 'r' 表示红色条形。
bar(___,Name,Value) 使用一个或多个名称-值对组参数指定条形图的属性。仅使用默认 'grouped' 或 'stacked' 样式的条形图支持设置条形属性。在所有其他输入参数之后指定名称-值对组参数。
bar(ax,___) 将图形绘制到 ax 指定的坐标区中,而不是当前坐标区 (gca) 中。选项 ax 可以位于前面的语法中的任何输入参数组合之前。
b = bar(___) 返回一个或多个 Bar 对象。如果 y 是向量,则 bar 将创建一个 Bar 对象。如果 y 是矩阵,则 bar 为每个序列返回一个 Bar 对象。显示条形图后,使用 b 设置条形的属性。
- y = [75 91 105 123.5 131 150 179 203 226 249 281.5];
- bar(y)
指定沿 x 轴的条形位置。
- x = 1900:10:2000;
- y = [75 91 105 123.5 131 150 179 203 226 249 281.5];
- bar(x,y)
将各条形的宽度设置为各条形可用总空间的 40%。
- y = [75 91 105 123.5 131 150 179 203 226 249 281.5];
- bar(y,0.4)
显示四个条形组,每一组包含三个条形。
- 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')
将x定义为一个包含三个年份值的向量。将 y
定义为包含负值和正值组合的矩阵。在条形图中显示这些值。
- x = [1980 1990 2000];
- y = [15 20 -5; 10 -17 21; -10 5 15];
- bar(x,y,'stacked')
指示条形图类别的一种方法是将 X 指定为分类数组。bar 函数使用经过排序的类别列表,因此条形的显示顺序可能与您预期的有所不同。要保留顺序,请调用 reordercats 函数。
将 X 定义为分类数组,并调用 reordercats 函数来指定条形的顺序。然后将 Y 定义为条形高度向量,并显示条形图。
- X = categorical({'Small','Medium','Large','Extra Large'});
- X = reordercats(X,{'Small','Medium','Large','Extra Large'});
- Y = [10 21 33 52];
- bar(X,Y)
将 vals 定义为一个包含两个数据集的值的矩阵。在条形图中显示值,并指定输出参数。由于有两个数据集,bar 返回包含两个 Bar 对象的向量。
- x = [1 2 3];
- vals = [2 3 6; 11 23 26];
- b = bar(x,vals);
在第一个条形序列的末端显示值。通过获取第一个 Bar 对象的 XEndPoints 和 YEndPoints 属性,获取条形末端的坐标。将这些坐标传递给 text 函数,并指定垂直和水平对齐方式,让值显示在条形末端上方居中处。
- xtips1 = b(1).XEndPoints;
- ytips1 = b(1).YEndPoints;
- labels1 = string(b(1).YData);
- text(xtips1,ytips1,labels1,'HorizontalAlignment','center',...
- 'VerticalAlignment','bottom')
接下来,在第二个条形序列的末端上方显示值。
- xtips2 = b(2).XEndPoints;
- ytips2 = b(2).YEndPoints;
- labels2 = string(b(2).YData);
- text(xtips2,ytips2,labels2,'HorizontalAlignment','center',...
- 'VerticalAlignment','bottom')
从 R2019b 开始,可以使用 tiledlayout 和 nexttile 函数显示分块条形图。调用 tiledlayout 函数以创建一个 2×1 分块图布局。调用 nexttile 函数以创建坐标区对象 ax1 和 ax2。在顶部坐标区中显示条形图。在底部坐标区中,显示相同数据的堆叠条形图。
- y = [1 2 3; 4 5 6];
- tiledlayout(2,1)
-
- % Top bar graph
- ax1 = nexttile;
- bar(ax1,y)
-
- % Bottom bar graph
- ax2 = nexttile;
- bar(ax2,y,'stacked')
使用红色条形创建一个条形图。
- y = [75 91 105 123.5 131 150 179 203 226 249 281.5];
- bar(y,'r')
使用 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)
可以使用 Bar 对象的 CData 属性控制单个条形的颜色。
创建一个条形图并将 Bar 对象赋给一个变量。将 Bar 对象的 FaceColor 属性设置为 'flat',从而使条形图使用 CData 属性中定义的颜色。默认情况下,CData 属性预先填充由默认 RGB 颜色值组成的矩阵。要更改特定的颜色,请更改矩阵中的对应行。例如,更改第二个条形的颜色。
- b = bar(rand(10,1));
- b.FaceColor = 'flat';
- b.CData(2,:) = [.5 0 .5];
通过将 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
创建矩阵 y
,其中每列为一个数据序列。调用bar函数以在条形图中显示数据,并指定输出参数。输出是包含三个Bar对象的向量,其中每个对象对应一个不同序列。无论条形是分组还是堆叠,均为如此。
- y = [10 15 20; 30 35 40; 50 55 62];
- b = bar(y);
将第三个条形序列设置为绿色。
b(3).FaceColor = [.2 .6 .5];
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。