1. 程式人生 > >MATLAB化坐標系(轉載的)

MATLAB化坐標系(轉載的)

fontsize 細節 函數 文本 mat idt ont 時間 fonts

plot,plotyy是常用的畫圖函數,但是默認的格式通常不能準確的畫出你想要的圖,因此需要很多細節的修改,才能完整準確的表達你的意圖。下面列舉了一些常用的指令。
[plain] view plain copy
%單y軸
plot(t*1e+9,abs(iGG)/max(abs(iGG)),‘k‘,‘linewidth‘,2);
axis([-5,5,0,1])
xlabel(‘時間/ns‘);
ylabel(‘幅度/a.u.‘);
set(get(gca,‘title‘),‘FontSize‘,10,‘FontName‘,‘宋體‘);%設置標題字體大小,字型
set(get(gca,‘XLabel‘),‘FontSize‘,10,‘FontName‘,‘Times New Roman‘);%設置X坐標標題字體大小,字型
set(get(gca,‘YLabel‘),‘FontSize‘,10,‘FontName‘,‘Times New Roman‘);%設置Y坐標標題字體大小,字型
set(gca,‘FontName‘,‘Times New Roman‘,‘FontSize‘,10)%設置坐標軸字體大小,字型
text(0.3,1.2,‘(a)‘,‘FontSize‘,10,‘FontName‘,‘Times New Roman‘); %設置文本字型字號
set(gca, ‘XTick‘, [0 10 20 30 40 50 60 70 80 90]) %設置X坐標軸刻度數據點位置
set(gca,‘XTickLabel‘,{‘0‘,‘10‘,‘20‘,‘30‘,‘40‘,‘50‘,‘60‘,‘70‘,‘80‘,‘90‘}) %設置X坐標軸刻度處顯示的字符
set(gca, ‘YTick‘, [-15 -10 -5 0 5 10 15]) %設置X坐標軸刻度數據點位置
set(gca,‘YTickLabel‘,{‘-15‘,‘-10‘,‘-5‘,‘0‘,‘5‘,‘10‘,‘15‘}) %設置Y坐標軸刻度處顯示的字符
axis([0,90,-20,20])
set(gca,‘YTickLabel‘,[]); %只顯示y坐標軸刻度,不顯示y坐標軸的值;
set(gca,‘XTickLabel‘,[]); %只顯示x坐標軸刻度,不顯示x坐標軸的值;
set(gca,‘ytick‘,[]); %y軸的坐標值和刻度均不顯示;
set(gca,‘xtick‘,[]); %x軸的坐標值和刻度均不顯示;

另外,不均勻的坐標軸顯示可以先設置對應的tick,然後設置對應ticklabel。

需要註意的是gca 和get(gca, ‘ title‘)是對應不同屬性的修改,不能混用。
單Y參考軸可以直接用gca,雙Y軸的時候因為需要對兩個對象操作,所以不太一樣。在使用plotyy的時候就要註意,需要輸出的對象句柄。
[plain] view plain copy
[AX,H1,H2]=plotyy(f*1e-12,abs(T1.*T1),f*1e-12,angle(T1.*T1));

AX代表的是坐標軸,H1,H2對應的是兩個繪圖線的屬性。
[plain] view plain copy
set(AX,‘FontSize‘,14,‘FontName‘,‘Times New Roman‘)%設置x軸、左y軸、右y軸刻度字號和字型
set(AX(1),‘Xcolor‘,‘k‘,‘Ycolor‘,‘k‘)%設置x軸、左y軸刻度字體為黑色;
set(AX(2),‘Xcolor‘,‘k‘,‘Ycolor‘,‘k‘)%設置x軸、右y軸刻度字體為黑色;
set(AX,‘Xlim‘,[207.5 217.1],‘xtick‘,[208:1:217])%設置x軸數據範圍(207.5到217.1),刻度顯示(208,209,210...217)
set(AX(1),‘ylim‘,[0,0.5],‘ytick‘,[0:0.1:0.5])%設置左y軸數據範圍(0到0.5),刻度顯示(0,0.1,0.2...0.5)
set(AX(2),‘ylim‘,[0,3],‘ytick‘,[0:1:3])%設置右y軸數據範圍(0到3),刻度顯示(0,1,2,3)
set(H1,‘Linestyle‘,‘-‘,‘color‘,‘r‘,‘Linewidth‘,2.5);%設置第一條曲線的線型、顏色、粗細
line(x,y,‘linestyle‘,‘-‘,‘color‘,‘r‘,‘Linewidth‘,2.5,‘parent‘,AX(1));%在第一條曲線上再畫一條曲線。
set(H2,‘Linestyle‘,‘-.‘,‘color‘,‘b‘,‘Linewidth‘,2.5);%設置第二條曲線的線型、顏色、粗細
set(get(AX(1),‘Ylabel‘),‘string‘,‘Amplitude(a.u.)‘,‘FontSize‘,10,‘FontName‘,‘Times New Roman‘,‘Position‘,[0 0 0 ]);%設置左y軸標題字號字型
set(get(AX(2),‘Ylabel‘),‘string‘,‘Phase(rad)‘,‘FontSize‘,10,‘FontName‘,‘Times New Roman‘);%設置右y軸標題字號字型
set(get(AX(1),‘Xlabel‘),‘string‘,‘Optical frequency(THz)‘,‘FontSize‘,10,‘FontName‘,‘Times New Roman‘);%設置x坐標標題字體大小,字型

同樣需要註意的是AX, AX(1)與set(AX(1),‘Ylabel‘)的使用區別。

MATLAB化坐標系(轉載的)