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 条形图
ICP备案:
公安联网备案: