MATLAB bar3()函数的用法(附带实例)
MATLAB 中绘制三维条形图的函数为 bar3()(竖直条形图)与 bar3h()(水平条形图)。
bar3() 和 bar3h() 的调用格式类似,bar3() 函数的调用格式及说明如下表所示。
【实例】绘制矩阵不同样式的三维条形图。MATLAB 程序如下:

图 1 三维条形图
bar3() 和 bar3h() 的调用格式类似,bar3() 函数的调用格式及说明如下表所示。
调用格式 | 说明 |
---|---|
bar(y) | 绘制三维条形图。若 y 为向量,则分别显示每个分量的高度,横坐标为 1 到 length(y);若 y 为矩阵,则 bar 把 y 分解成行向量,再分别画出,横坐标为 1 到 size(y,1),即矩阵的行数 |
bar(x,y) | 在 x 指定的位置画出 y 中每个元素的条形图,其中 x 为严格单调递增的向量;若 y 为矩阵,则把矩阵分解成行向量,在指定的横坐标处分别画出 |
bar(...,width) | 设置条形的相对宽度并控制组内条形的间距,默认值为 0.8。所以,若用户没有指定 x,则同一组内的条形有很小的间距;若设置 width 为 1,则同一组内的条形相互接触 |
bar(...,'style') |
指定条形的排列类型,类型有 group 和 stack,其中 group 为默认的显示模式,它们的含义如下: group:若 Y 为 n×m 矩阵,则 bar 显示 n 组,每组有 m 个垂直条形图 stack:将矩阵 Y 的每一行向量显示在一个条形中,条形的高度为该行向量中的分量和,其中同一条形中的每个分量用不同的颜色显示出来,从而可以显示每个分量在向量中的分布 |
bar(...,color) | 用指定的颜色 color 显示所有的条形 |
bar(ax,...) | 将图形绘制到 ax 指定的坐标区中 |
b = bar(...) | 返回一个或多个 Bar 对象。如果 y 是向量,则创建一个 Bar 对象,如果 y 是矩阵,则为每个序列返回一个 Bar 对象。显示条形图后,使用 b 设置条形的属性 |
【实例】绘制矩阵不同样式的三维条形图。MATLAB 程序如下:
>> close all % 关闭当前已打开的文件 >> clear % 清除工作区的变量 >> Y=[5 6 8;9 4 6]; % 创建矩阵Y >> subplot(2,2,1) % 将视图分割为2行2列4个窗口,显示第1个视图 >> bar3(Y) % 绘制三维条形图 >> title('图1') % 添加标题 >> subplot(2,2,2) % 显示第1行第2个视图 >> width = 0.1; % 定义条形图条形宽度 >> bar3(Y,width),title('图2') % 绘制指定条形宽度的条形图 >> subplot(2,2,3) % 显示第2行第1个视图 >> bar3(Y,'stack'); % 设置条形的排列类型为stack,堆叠条形图 >> title('图3') % 添加标题 >> subplot(2,2,4) % 显示第2行第2个视图 >> b=bar3h(Y,'r'); % 绘制水平条形图 >> title('图4') % 添加标题运行结果如下图所示:

图 1 三维条形图