Matlab绘制条形图

条形图

 

二维条形图

 

MATLAB中绘制条形图的基本函数为bar和barh,它们的调用格式为:

 

bar(Y) 如果Y为矢量,其每一个元素绘制一个条形;如果Y为矩阵,侧bar函数对每一行元素绘制的条形进行分组。

 

bar(x,Y) 按x中指定的位置绘制Y中每一元素的条形。

 

bar(…,width) 设置相邻条形的宽度并控制组内条形的分离,默认值为0.8,如果指定width=1,则组内的条形挨在一起。

 

bar(…,’style’) 指定绘制条形的类型,style有两个选项:

 

(1) stacked 矩阵Y中每一行绘制一个条形,条形的高度为行元素中元素的和,每一个条形都用多种颜色表示,颜色对应不同种类的元素并表示每行元素对总和的相对贡献。

 

(2) group 绘制n条形图组,每一个条形组中有m个垂直条形,其中n对应矩阵Y的行数,m对应列数,group为style的默认值。

 

bar(…,LineSpec) 用LineSpec指定的颜色绘制条形。

 

h=bar(…) 返回图形句柄。

 

barh(…) 绘制水平条形图。

 

h=barh(…) 返回水平条形图的图形句柄。

三维条形图

 

三维条形图的绘制函数为bar3和barah,其使用方法与bar和barh基本相同,其调用格式为:

 

bar3(Y) 绘制三维条形图,如果Y为矢量,其每一个元素绘制一个条形;如果Y为矩阵,侧bar函数对每一行元素绘制的条形进行分组。

 

bar3(x,Y) 按x中指定的位置绘制Y中每一元素的条形。

 

bar3(…,width) 设置相邻条形的宽度并控制组内条形的分离,默认值为0.8,如果指定width=1,则组内的条形挨在一起。

 

bar3(…,’style’) 指定绘制条形的类型,style有3个选项:

 

(1) stacked 矩阵Y中每一行绘制一个条形,条形的高度为行元素中元素的和,每一个条形都用多种颜色表示,颜色对应不同种类的元素并表示每行元素对总和的相对贡献。

 

(2) group 绘制n条形图组,每一个条形组中有m个垂直条形,其中n对应矩阵Y的行数,m对应列数,group为style的默认值。

 

(3) detached 在x方向用单独的条形块绘制Y中的每一行元素,detached为style的默认值;

 

bar3(…,LineSpec) 用LineSpec指定的颜色绘制条形。

 

h=bar3(…) 返回三维条形图的图形句柄。

 

barh(…) 绘制三维水平条形图。

 

h=barh(…) 返回三维水平条形图的图形句柄。

 

三维条形图有两种显示形式:分组形式和行列形式。

 

分别按行组和行列绘制三维条形图

 

Y = round(rand(5,3)*10);            %随机函数产生5*3的数组,对产生的数据取整

subplot(2,2,1)

bar(Y,'group')

title 'Group'

subplot(2,2,2)

bar(Y,'stack')                     %堆型二维垂直条形图

title 'Stack'

subplot(2,2,3)

barh(Y,'stack')                    %堆型二维水平条形图

title 'Stack'

subplot(2,2,4)

bar(Y,1.5)                       %设定条形的宽度为1.5

title 'Width = 1.5'

效果如图

Y = [1 2 3 4 5 6 7;

       1 2 3 4 3 2 1;

    76 5 4 3 2 1];

subplot(3,2,1)

bar3(Y,'detached')

title('Detached')

subplot(3,2,2)

bar3(Y,0.25,'detached')

title('Width = 0.25')

subplot(3,2,3)

bar3(Y,'grouped')

title('Grouped')

subplot(3,2,4)

bar3(Y,0.5,'grouped')

title('Width = 0.5')

subplot(3,2,5)

bar3(Y,'stacked')

title('Stacked')

subplot(3,2,6)

bar3h(Y,0.3,'stacked')

title('Width = 0.3')

效果如图


  • 5
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值