Matlab绘图基础

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(f*1e-12,abs(T1.*T1),f*1e-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')的使用区别。

 

坐标轴显示、关闭、样式

axis off;                       % 去掉坐标轴
axis tight;                     % 紧坐标轴
axis equal;                     % 等比坐标轴
axis([-0.1, 8.1, -1.1, 1.1]);   % 坐标轴的显示范围 

% gca: gca, h=figure(...);
set(gca, 'XLim',[3 40]);                   % X轴的数据显示范围
set(gca, 'XTick',[-3.14,0,3.14] );         % X轴的记号点 
set(gca, 'XTicklabel',{'-pi','0','pi'});   % X轴的记号
set(gca, 'XTick', []);                     % 清除X轴的记号点
set(gca, 'XGrid','on');                    % X轴的网格
set(gca, 'XDir','reverse');                % 逆转X轴
set(gca, 'XColor','red');                  % X轴的颜色

设置x,y轴位置

set(gca,'YAxisLocation','right')          % y轴的刻度设置到右侧 

图片输出设置:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值