MATLAB bar()函数:绘制条形图(附带实例)
MATLAB 的 bar() 函数用于绘制二维垂直条形图,用垂直条形显示向量或矩阵中的值。
bar() 函数的调用格式如下:
【实例 1】创建二维垂直条形图,在编辑器窗口中编写 M 文件并命名为 verticalbar.m。

图 1 二维垂直条形图
【实例 2】二维条形图有两种类型:垂直条形图和水平条形图。而每种类型又有两种表现模式:累计式和分组式。本例选择其中两种加以表现。在编辑器窗口中编写 M 文件并命名为 ex5_23.m。

图 2 垂直条形图和水平条形图
bar() 函数的调用格式如下:
- bar(y):为每个 y 中的元素画一个条形;
- bar(x, y):在指定的横坐标 x 上画出 y,其中 x 为严格单增的向量。若 y 为矩阵,则 bar() 把矩阵分解成几个行向量,在指定的横坐标处分别画出;
- bar(..., 'bar_color'):“bar_color”定义条形的颜色;
- bar(axes_handle, ...):将图形绘制到坐标轴句柄 axes_handle 中,而不是当前坐标轴句柄中。
【实例 1】创建二维垂直条形图,在编辑器窗口中编写 M 文件并命名为 verticalbar.m。
clear all y = [75.995 91.972 105.711 123.203 131.669 ... 150.697 179.323 203.212 226.505 249.633 281.422]; figure; bar(y);运行程序,二维垂直条形图如下图所示:

图 1 二维垂直条形图
【实例 2】二维条形图有两种类型:垂直条形图和水平条形图。而每种类型又有两种表现模式:累计式和分组式。本例选择其中两种加以表现。在编辑器窗口中编写 M 文件并命名为 ex5_23.m。
clear all x=-2:2; Y=[6 8 7 4 5;4 8 1 12 0;4 6 21 1 3]; subplot(1,2,1),bar(x','Y','stacked') xlabel('x'),ylabel('\Sigma y'),colormap(cool) legend('因素1','因素2','因素3') subplot(1,2),barh(x','Y','grouped') xlabel('y'),ylabel('x')运行程序,垂直条形图和水平条形图如下图所示:

图 2 垂直条形图和水平条形图