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 all figure; 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 all figure; 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]; % Grouped figure; subplot(2,1,1) barh(x,y) title("Grouped Style") % Stacked subplot(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); end end
运行结果
参考内容
[1]https://ww2.mathworks.cn/help/matlab/ref/barh.html
作者:郭志龙
编辑:郭志龙
校对:郭志龙
百位明星帮忙也无济于事,邓超,再不悔悟就晚了难!1月14号,农历腊月二十三,春节档展开超前预售。观众发现,本来号称春节七雄的电影,突然变成了六部。少了谁呢?邓超中国乒乓作为春节档最后一部定档的电影,该电影在定档时就风雨飘摇,
记录一次夕阳黄昏,手机也能拍出电影感,OPPO这表现力绝了在开始之前,想给各位摄影爱好者抛出一个问题你现在日常的拍照主力,是否还是传统的单反相机呢?如今越来越多的用户都开始倾向于用手机拍照,影像系统已然成为智能手机的核心卖点。就连曾经对这
是让Twitter破产,还是继续卖特斯拉?马斯克面临关键抉择马斯克收购Twitter的账单即将到期,他将在该公司的巨额债务上面临艰难抉择是申请破产程序?还是再次高价出售特斯拉股票?1月17日,据媒体援引三名知情人士报道称,马斯克用来为收购T
腰椎间盘突出反复发作?中医为您寻找病根,治病当求本有些患者的腰腿疼痛总是反复发作,有时候一吃药能好一点,不吃药就又开始了,有时候天气变化就开始腰痛,有时候闪一下腰坐的久一点又开始腰疼了。为什么腰痛总是会反复发作呢?今天在这里先跟大
逃逸能力更强?又发现新毒株,重组而成!据泰国媒体近日报道,泰国医学厅厅长素帕吉透露,泰国在新冠病例中检测出德尔塔克戎XAY。2毒株。德尔塔克戎毒株是什么?传播力是否更强?是否有传入我国的风险?记者采访了北京佑安医院感染
佰维存储提高主控整体纠错能力爱集微点评佰维存储的存储专利,根据已写入数据确定同plane和跨plane数据,并进行LDPC数据保护,当多个plane出现错误bit超过同planeLDPC算法的纠错能力时,可利
委员建议崔铁宁委员开发共享消费新模式北京日报客户端记者孙颖北京正在培育建设国际消费中心城市,来自教育界的市政协委员北京工业大学经济与管理学院教授崔铁宁建议,打造绿色消费城市,促进绿色低碳消费成为新时尚。崔铁宁说,加快
春节将至,没阳过的人会增大感染几率?专家不建议长途旅行临近春节了,想必在外打工的人都应该要回家看望自己的孩子与父母,可能没阳过的人,都在担心回家是否会增加得新冠的可能性,而专家直接建议这种人不建议长途旅行。我评价这可能吗?这是多少打工
局长话市运走进嘉定区的市运会赛场上海市第十七届运动会举办期间,赛场上的青少年们奋力拼搏争创佳绩,收获满满。赛场下,五星体育邀请到了上海各区的体育局局长做客演播室,一起共话市运。本期局长话市运,让我们跟随嘉定区体育
马竞拒绝卡拉斯科换德佩,卡拉斯科也不想去巴萨降薪昨天每日体育报首先爆料,随后得到多家媒体证实,巴萨在与马竞讨论孟菲斯转会中,提出马竞要用卡拉斯科交换孟菲斯。而根据多家媒体消息,马竞方面已经明确表示拒绝。因为马竞目前已经先后失去了
自发热内衣真保暖还是智商税?德绒自发热发热抗静电37度全身保暖在各类电商平台中,主打轻薄无痕的自发热内衣产品让人眼花缭乱。优衣库猫人红豆Ubras等多个品牌为满足年轻人需求,纷纷推出轻薄又保暖自发热等黑科技内