Matlab中 plot 函数自定义绘制图形的一些指令

plot,plotyy是常用的画图函数,但是默认的格式通常不能准确的画出你想要的图,因此需要很多细节的修改,才能完整准确的表达你的意图。下面列举了一些常用的指令。

%单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的时候就要注意,需要输出的对象句柄。

[AX,H1,H2]=plotyy(f1e-12,abs(T1.T1),f1e-12,angle(T1.T1));

AX代表的是坐标轴,H1,H2对应的是两个绘图线的属性。

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\')的使用区别。