Matlab绘制条形图

举报
kobesdu 发表于 2022/02/10 10:52:46 2022/02/10
【摘要】 1 二维条形图MATLAB中绘制条形图的基本函数为bar和barh,它们的调用格式为:bar(Y) 如果Y为矢量,其每一个元素绘制一个条形;如果Y为矩阵,侧bar函数对每一行元素绘制的条形进行分组。bar(x,Y) 按x中指定的位置绘制Y中每一元素的条形。bar(…,width) 设置相邻条形的宽度并控制组内条形的分离,默认值为0.8,如果指定width=1,则组内的条形挨在一起。bar(…...

1 二维条形图

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(…) 返回水平条形图的图形句柄。

2 三维条形图

三维条形图的绘制函数为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(…) 返回三维水平条形图的图形句柄。

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

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

3 示例代码

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

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')




【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。