MATLAB绘制水平的柱形图
水平方向的柱形图,可以更好的展现不同情景或对象之间的差异性,在论文数据绘图处理时,经常会使用到。MATLAB的barh()函数可以绘制水平的柱形图。
1.barh函数
(资料图)
语法barh(y)barh(x,y)barh(___,width)barh(___,style)barh(___,color)barh(___,Name,Value)barh(ax,___)b=barh(___)说明barh(y) 创建一个水平条形图,每个条形对应 y 中一个元素。如果 y 是 m×n 矩阵,则 barh 创建每组包含 n 个条形的 m 个组。barh(x,y) 沿垂直轴在 x 指定的位置绘制条形。barh(___,width) 指定每个条形占用的可用空间比例。例如,barh(y,1) 让每组中的条形紧挨在一起。将 width 指定为上述任一语法中的最后一个参数。barh(___,style) 指定条形组的样式。例如,barh(y,"stacked") 将每组中的条形堆叠成一个多色条形。barh(___,color) 为所有条形指定单一颜色。例如,barh(y,"red") 显示红色条形。barh(___,Name,Value) 使用一个或多个名称-值对组参数指定条形图的属性。仅使用默认 "grouped" 或 "stacked" 样式的条形图支持设置条形属性。在所有其他输入参数之后指定名称-值对组参数。barh(ax,___) 在目标坐标区中显示条形图。将坐标区指定为上述任一语法中的第一个参数。b=barh(___) 返回一个或多个 Bar 对象。如果 y 是向量,则 barh 返回一个 Bar 对象。如果 y 是矩阵,则 barh 为每个序列返回一个 Bar 对象。显示条形图后,使用 b 设置条形的属性。
2.简单示例
程序
clc;clear all;close all;y = [11 12 13 14 12 28];barh(y);figure;x = [1980 1990 2000];y = [40 50 63 52; 42 55 50 48; 30 20 44 40];barh(x,y)xlabel("Snowfall")ylabel("Year")legend({"Springfield","Fairview","Bristol","Jamesville"})
运行结果
3.修改中间的基准线
程度
clc;clear all;close all;figure;data1 = [8 15 33; 30 35 40; 50 55 62];barh(data1,"BaseValue",30)%显示具有负数据的堆叠条形figure;x = [1980 1990 2000];y = [15 20 -5; 10 -17 21; -10 5 15];barh(x,y,"stacked")%自定义垂直轴刻度标签figure;y = [10 20 30 41];barh(y)yticklabels({"April","May","June","July"})
运行结果
指示条形图类别的一种方法是将 X 指定为分类数组。barh 函数使用经过排序的类别列表,因此条形的显示顺序可能与您预期的有所不同。要保留顺序,请调用 reordercats 函数。将 X 定义为分类数组,并调用 reordercats 函数来指定条形的顺序。然后将 Y 定义为条形长度的向量,并显示条形图。
程序
clc;clear all;close allfigure;X = categorical({"Small","Medium","Large","Extra Large"});X = reordercats(X,{"Small","Medium","Large","Extra Large"});Y = [10 21 33 52];barh(X,Y)
运行结果
4.指定条形宽度和颜色
程序
clc;clear all;close allfigure;y = [10 22 30 42];width = 0.4;barh(y,width,"red");figure;y = [10 15 20; 30 35 40; 50 55 62];b = barh(y);b(2).FaceColor = [.2 .6 .5];b(2).EdgeColor = [.63 .08 .18];b(2).LineWidth = 2;
运行结果
5.比较不同的条形样式
程序
clc;clear all;close all;x = [1980 1990 2000];y = [8 15 25; 30 35 40; 50 55 62];% Groupedfigure;subplot(2,1,1)barh(x,y)title("Grouped Style")% Stackedsubplot(2,1,2)barh(x,y,"stacked")title("Stacked Style")
运行结果
6.实际例子
程序
clc;clear all;close all;c=randi(1000,8);fenzhixianshi={"内存占用百分比";"冗余状况";"通信质量";"工作负荷";"卡件模块状态";"I/O通道状态";"故障信息";"总体分值"};m=8;%数据数目n=20;%数据次数labels = fenzhixianshi(1:end,1); %每个数据的名字rng(16,"twister") % 数据对应的颜色color_map = randi(350,m,8) / 255;% 创建GIF文件h1=figure("color","w"); %设置背景色set(gcf, "position", [100,100,1300,600]);F = getframe(gcf); %捕获指定矩形区域,返回一个结构体[A,map] = rgb2ind(frame2im(F),256);imwrite(A,map,"moveimage1.gif","LoopCount",inf,"DelayTime",0.001);for i = 1:8 % 按行取出每次的数据 tmp = c(i,:); % 绘制条形图 fig = barh(tmp, 0.5, "EdgeColor", "w","FaceColor","flat"); % 设置每个条形的颜色 fig.CData = color_map(8,:); % 设置标签 set(gca, "yticklabel",fenzhixianshi,"FontName", "Microsoft YaHei UI","FontWeight", "normal","XLim",[0 100],"FontSize", 12); xlabel("相应分值") title("示例"); axis([0 max(max(c))*1.1 0 9]) % 保存GIF文件 F = getframe(gcf); [A, map] = rgb2ind(frame2im(F), 256); if i == 1 imwrite(A, map, "moveimage1.gif","WriteMode","append","DelayTime",2); elseif i == n imwrite(A, map, "moveimage1.gif","WriteMode","append","DelayTime",5); else imwrite(A, map, "moveimage1.gif","WriteMode","append","DelayTime",2); endend
运行结果
参考内容
[1]https://ww2.mathworks.cn/help/matlab/ref/barh.html
作者:郭志龙
编辑:郭志龙
校对:郭志龙
推荐阅读
运动型轿车是什么 运动型轿车与普通车有何区别?
运动型轿车凭借着外观酷炫,动力性能强的特点,深受国内众多消费者的喜爱。特别是在年轻消费者心目中,运动型轿车基本上是购车的首选。但是 【详细】
汽油清洗剂是什么 汽油清洗剂加在汽油里是干嘛的?
最近有很多车主反映加油的时候总是建议用汽油清洁剂。但是,大部分人还是不太了解,还有就是一部分人纳闷汽油清洗剂加在汽油里是干嘛的?汽 【详细】
中国最便宜的汽车是哪个 最便宜的汽车汇总
现在汽车已经成为了大家最常见的交通代步工具了。但是,依然还是有很多的家庭非常的需要代步工具,却买不起特别贵的汽车。所以今天,我们就 【详细】
伊莱克斯冰箱质量怎么样 伊莱克斯冰箱质量好不好?
伊莱克斯冰箱质量怎么样:在2018年全球500强企业中,伊莱克斯排名第162位,在2020年全球2000强企业中,伊莱克斯排名第1965位,可见伊莱克斯 【详细】
劳动保护用品是什么 劳动保护用品有哪些?
劳动保护用品有哪些?劳动防护用品分为特殊劳动防护用品和一般劳动防护用品,一般劳动防护用品是指未列入目录的一般劳动防护用品。以下产品 【详细】
相关新闻
- 动态:苹果在iOS 16.3 Beta 2中调整“SOS紧急联络”功能触发方式
- 离谱!小米员工吐槽Redmi新机支持双SIM卡+TF卡
- 环球热头条丨B站增发新股约4.1亿美元,用于回购可转债
- 环球热门:relax什么意思(“神经紧绷”英语怎么说?一个英语单词搞定,so easy)
- 世界快看点丨藕粉的作用(冬吃莲藕补中益气健脾胃)
- 中国人得过诺贝尔奖的是谁 中国人得过诺贝尔奖的有几人?
- 玛雅文明是什么 玛雅文明算一个高度发达的文明吗?
- 环球信息:如何在国内正常使用TikTok?
- 女闺蜜是什么意思(女生喜欢你的几大表现 你遇到过几个?)
- 快资讯丨shift键(Excel 中 Shift键的奇妙玩法,你知道几个?)
- 斐纳TOMEFON使用状况 斐纳TOMEFON吸尘器好不好用?
- 国产手机排名前十 国产手机排名前汇总
- 环球观点:至今还没有阳的人,他们天赋异禀,还是另有隐情?研究结果来了
- 新动态:iPhone 15 太炸了,标准版有大提升
- 全球即时看!vivo拒绝高价低配:骁龙870+144Hz屏,12GB+256GB跌至1769元
- 实现高并发秒杀的七种方式
- 全球看热讯:3D渲染引擎 HOOPS Visualize 2023全新发布-增加对顶点着色器支持
- 世界看热讯:「升级」Hubstudio多账号安全管理浏览器之扩展中心上线啦!
- 汽车早报 - 消息称蔚来布局百万元级别电动车 广汽称将继续为讴歌中国客户提供售后服务
- 今头条!车轮上的2022∣新能源与汽车出口带动:全国乘用车零售量同比增长1.9%