找回密码
 注册
关于网站域名变更的通知
查看: 525|回复: 1
打印 上一主题 下一主题

matlab中bar画自定义柱状图

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-12-15 10:41 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 baqiao 于 2020-12-15 13:09 编辑 ! O2 c5 b5 j* y+ C

; ], E4 g; v  V

想要绘制这种一正一反的柱状图,且标注在图形的左右两边,样例如下:


7 t7 g2 X" j' ~7 v

6 j8 Y+ p  T7 V" N1 E3 L- a; m

若将一组为负值,直接bar(x,[y1,y2]),则图形上下会偏移错位,最后总结如下有注释的代码:

load s.mat%加载标注内容/ i+ Y+ f% s  R  d' ~) C
x=2:2:46;

xx=1:2:47;%与上面x正好错位,使标注在图形左右两侧

%以下为分别两次利用bar进行两次绘制,并利用FaceColor属性进行颜色区分

bar(x,data(:,1),'FaceColor',[0.7 0.7 0.7],'BarWidth',0.5);4 I$ F. g# y8 u2 E$ x4 E  s
hold on* Q0 `4 T! K: T( U: ]7 M# `
bar(x,-1.*data(:,2),'FaceColor',[0.05 .45 0.1],'BarWidth',0.5);# X( A+ }, f' P
ylabel('客流量(人次/小时)','FontSize',14)
5 ]: E* y2 V4 m1 }% ?; ltitle('全日断面客流量','FontSize',14)- V6 c2 r8 E, u
set(gca,'yticklabel',get(gca,'ytick'));%y轴不显示科学计数法
6 q+ P/ B7 `  [+ `2 e) ~set(gca, 'FontSize',12,'XTick',xx,'XTickLabel',station);%设置标注位置和标注内容
! @$ _$ D; Q6 t1 A/ Sset(gca,'XTickLabelRotation',90)%使标注旋转角度
1 C/ F: [" ]: \# [. n. Zset(gca,'xaxislocation','origin')%使横轴标注平移到图形中间位置, X) ^6 }- H; p! Q; b  w
legend('下行断面客流','上行断面客流');
8 Z8 _1 b+ d. E) U$ ?%图形框的邮编和上边容易出现刻度,这往往是不需要的,可通过如下语句将其去掉:- j+ ]7 z; U. n8 ~' ~; T3 f
box off  
, _: ?5 p+ m% [1 I! `* C1 Sax2 = axes('Position',get(gca,'Position'),...  
3 F5 P% f6 h2 p           'XAxisLocation','top',...  
5 K2 B3 U- v! v3 g           'YAxisLocation','right',...  ; a, B; M, X. N  `
           'Color','none',...  
1 {5 [+ d3 M6 y           'XColor','k','YColor','k');  7 S2 Q" v- l0 s$ A+ U& j/ q
set(ax2,'YTick', []);  , t  \- I3 U6 R
set(ax2,'XTick', []);  : u, A" J7 u! I2 \# U; j
box on  

效果如图:

该用户从未签到

2#
发表于 2020-12-15 13:08 | 只看该作者
matlab中bar画自定义柱状图
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-1 02:12 , Processed in 0.125000 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表