首页 > 编程笔记 > MATLAB笔记 阅读:40

MATLAB bar()函数用法详解(附带实例)

在 MATLAB 中,利用函数 bar() 可以创建条形图,其调用格式如下:
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 值的含义如下:
【实例】创建条形图。在编辑器中编写以下程序并运行:
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 条形图

相关文章