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

MATLAB bar3()函数的用法(附带实例)

MATLAB 中绘制三维条形图的函数为 bar3()(竖直条形图)与 bar3h()(水平条形图)。

bar3() 和 bar3h() 的调用格式类似,bar3() 函数的调用格式及说明如下表所示。

表 1 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 三维条形图

相关文章