1. 程式人生 > >matlab繪製帶置信區間的雙y軸圖形

matlab繪製帶置信區間的雙y軸圖形

      matlab的雙y軸網上有很多方法,但是帶置信區間的雙y軸就很少了,並且由於網上給的例子一般都是使用紅藍兩色,對於只想使用黑色或者灰色的俺們來說太鮮豔啦~

     

        上圖為使用matlab繪製的雙y軸帶置信區間的曲線。其中黑色的那條是根據左邊y軸繪製的,灰色曲線是根據右邊y軸繪製。matlab程式如下:

[AX,H1,H2] = plotyy(x,y2,x,z1,@(x,y2)errorbar(x,y2,l2,u2,'k-^','linewidth',2),@(x,z1)errorbar(x,z1,l3,u3,'color',[138 138 138]/255,'linestyle','-','marker','o','linewidth',2));

%plotyy是雙y軸的函式,x為兩條曲線的公共x軸座標,y2為以左側y軸的y軸座標,z1以右側y軸的座標;

%errorbar為繪製置信區間的函式,內容包括x軸,y軸座標,取值下限及上限,後面為設定線型及線寬,常用的線型很容易更改。若想修改線的顏色為其他型別,必須將這幾種屬性分開,例如顏色用‘color’,線型‘linestyle’。點的型別函式‘marker’。(一般網上介紹中都是用‘markerstyle’,但是這個屬性在我的matlab版本中總是報錯,找了半天才找到‘marker’);


set(get(AX(1),'Ylabel'),'string','B','fontweight','bold','FontSize',13);

%設定左側y軸的字型大小,粗體型別;
set(get(AX(2),'Ylabel'),'string','C','fontweight','bold','FontSize',13);

%設定右側y軸的字型大小,粗體型別;

set(AX(1),'YLim',[0,750],'fontweight','bold','FontSize',13);

%設定左側y軸的取值範圍,事實證明,即使後面設定了取值間隔及範圍,設定YLim也不能省略;
set(AX(2),'YLim',[-20,80],'fontweight','bold','FontSize',13);

set(AX(1),'YTick',[0:150:750]);

%設定左側y軸的取值間隔及範圍;
set(AX(2),'YTick',[-20:20:80]);

set(AX(1),'Ycolor','k')

%設定左側y軸的顏色;
set(AX(2),'Ycolor',[138 138 138]/255)
%設定右側y軸的顏色——灰色;
%不知道上述幾個屬性的設定能否合成一個?

xlabel('A','fontweight','bold','FontSize',13)
legend([H1,H2],{'B','C'},'fontweight','bold','FontSize',13)
%設定雙y軸的legend

希望能對想把幾張簡單的圖形融合在一起的同道中人有些幫助~~