MATLAB bar()函数用法详解(附带实例)
在 MATLAB 中,利用函数 bar() 可以创建条形图,其调用格式如下:
【实例】创建条形图。在编辑器中编写以下程序并运行:

图 1 条形图
bar(y) % 创建条形图,y 中的每个元素对应一个条形 % 如果 y 是 m×n 矩阵,则 bar 创建 m 个组,每组包含 n 个条形 bar(x,y) % 在 x 指定的位置绘制条形 bar(__,width) % 设置条形的相对宽度以控制组中各个条形的间隔,width 为标量值 bar(__,style) % 指定条形组的样式('grouped'、'stacked'、'histc'、'hist') bar(__,color) % 设置所有条形的颜色('b'、'r'、'g'、'c'、'm'、'y'、'k'、'w')组样式 style 值的含义如下:
- 'grouped':将每组显示为以对应的 x 值为中心的相邻条形;
- 'stacked':将每组显示为一个多色条形,条形的长度是组中各元素之和。若 y 是向量,则与 'grouped' 相同;
- 'histc':以直方图形式显示条形,同一组中的条形紧挨在一起。每组的尾部边缘与对应的 x 值对齐;
- 'hist':以直方图形式显示条形。每组以对应的 x 值为中心。
【实例】创建条形图。在编辑器中编写以下程序并运行:
subplot(2,2,1) y = [2 2 3; 2 5 6; 2 8 9; 2 11 12]; bar(y) % 显示 4 个条形组,每组包含 3 个条形 subplot(2,2,2) y = [2 2 3; 2 5 6; 2 8 9; 2 11 12]; bar(y,'stacked') % 为矩阵中的每行显示一个条形(堆叠条形图),高度为行中元素之和 subplot(2,2,3) x = [1980 1990 2000]; % 定义一个包含 3 个年份值的向量 y = [15 20 -5; 10 -17 21; -10 5 15]; % 定义包含负值和正值组合的矩阵 bar(x,y,'stacked') % 显示具有负数据的堆叠条形 subplot(2,2,4) x = [1 2 3]; vals = [2 3 6; 11 23 26]; % 定义一个包含两个数据集的值的矩阵 b = bar(x,vals); %% 在第一个条形序列的末端显示值 xtips1 = b(1).XEndPoints; % 获取条形末端的 x 坐标 ytips1 = b(1).YEndPoints; % 获取条形末端的 y 坐标 labels1 = string(b(1).YData); text(xtips1,ytips1,labels1,... 'HorizontalAlignment','center',... 'VerticalAlignment','bottom') % 将这些坐标传递给函数 text % 指定水平对齐方式 % 指定垂直对齐方式,居中显示值 %% 在第二个条形序列的末端上方显示值 xtips2 = b(2).XEndPoints; ytips2 = b(2).YEndPoints; labels2 = string(b(2).YData); text(xtips2,ytips2,labels2,'HorizontalAlignment','center',... 'VerticalAlignment','bottom')运行程序后,输出如下图所示图形:

图 1 条形图