EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 baqiao 于 2020-12-15 13:09 编辑
3 p9 E. @! x; h8 {
2 l8 A2 H3 s6 b) e7 J) W8 c想要绘制这种一正一反的柱状图,且标注在图形的左右两边,样例如下:
% }0 F0 \% A0 w8 r. y6 X" l; ~" P3 B
) C1 p8 F, d- t, Q; r. c若将一组为负值,直接bar(x,[y1,y2]),则图形上下会偏移错位,最后总结如下有注释的代码: load s.mat%加载标注内容
9 b m- X U( W) sx=2:2:46; xx=1:2:47;%与上面x正好错位,使标注在图形左右两侧 %以下为分别两次利用bar进行两次绘制,并利用FaceColor属性进行颜色区分 bar(x,data(:,1),'FaceColor',[0.7 0.7 0.7],'BarWidth',0.5);
* T5 W$ N* n) s4 g; }6 a0 Bhold on
) ^. O$ }' Q5 Y% C/ X4 D. Zbar(x,-1.*data(:,2),'FaceColor',[0.05 .45 0.1],'BarWidth',0.5);
0 o! f1 d' v: ^ l ylabel('客流量(人次/小时)','FontSize',14)% k& U1 q" N: y W
title('全日断面客流量','FontSize',14); k" t( _7 {4 V X" l5 o
set(gca,'yticklabel',get(gca,'ytick'));%y轴不显示科学计数法: D* O" j* @$ m8 X5 `! L6 x+ s
set(gca, 'FontSize',12,'XTick',xx,'XTickLabel',station);%设置标注位置和标注内容7 P% W8 u" P) Z0 g* R
set(gca,'XTickLabelRotation',90)%使标注旋转角度( A( p* R7 U0 ~
set(gca,'xaxislocation','origin')%使横轴标注平移到图形中间位置
4 S# r# p! t. B: L$ jlegend('下行断面客流','上行断面客流');
2 W; X( s7 s8 J* u" N3 J3 [%图形框的邮编和上边容易出现刻度,这往往是不需要的,可通过如下语句将其去掉:# e" d" \* r. [4 p$ U1 E
box off
1 F3 V8 L! J0 B0 z0 Tax2 = axes('Position',get(gca,'Position'),...
9 W H7 ?* _" _& @3 H3 r 'XAxisLocation','top',... 4 @4 Y( l) F! ?: i0 [! f5 T
'YAxisLocation','right',... + [3 B: W! [. a- c
'Color','none',...
+ d4 E5 S+ h1 I: k, b8 u) p- i 'XColor','k','YColor','k'); ( s4 n+ E* x7 P: ^/ [( a2 ]* A
set(ax2,'YTick', []); # u0 R. N- u p; r- e
set(ax2,'XTick', []);
& t& D( E4 r* h( l* n5 i0 Nbox on 效果如图:
|