在写论文或者写报告的时候,经常需要用MATLAB将仿真数据或者实验数据进行图形化,以便符合论文报告要求以及使其更加美观形象,以下给出了三种情况下的MATLAB绘图代码:
1.绘制单图
1 %绘制单图
2 clear all
3 clc
4 load D:\IC_Design\picture\Journal\tran.txt %读取数据文件
5 data=tran;
6 digits(15); %数据有效位数
7 x=vpa(data(:,1));
8 y=vpa(data(:,2));
9 %plot(data);
10 H1=plot(x,y);
11 grid on
12 % box off
13 % title('tran','Fontname', 'Times New Roman','FontWeight','bold','fontsize',10)
14 xlabel('\itt / \rmns','Fontname', 'Times New Roman','FontWeight','bold','fontsize',10);
15 ylabel('\itV_{\rmO} / \rmmV','Fontname', 'Times New Roman','FontWeight','bold','fontsize',10);
16 set(H1,'Linestyle','-','color','k','Linewidth',1);%设置第一条曲线的线型、颜色、粗细
17 set(gca,'Fontname', 'Times New Roman','FontWeight','bold','fontsize',10)%设置坐标轴字体大小,字型
18 set(gcf,'color','w');% 设置背景为白色
19 set(gca,'XLim',[0 18e-9]);%X轴的数据显示范围
20 set(gca,'YLim',[-0.8 0.8]);%Y轴的数据显示范围
21 set(gca, 'XTick', [0 2e-9 4e-9 6e-9 8e-9 10e-9 12e-9 14e-9 16e-9 18e-9]) %设置X坐标轴刻度数据点位置
22 set(gca,'XTickLabel',{'0','2','4','6','8','10','12','14','16','18'}) %设置X坐标轴刻度处显示的字符
23 set(gca, 'YTick', [-0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 ]) %设置Y坐标轴刻度数据点位置
24 set(gca,'YTickLabel',{'-800','-600','-400','-200','0','200','400','800'}) %设置Y坐标轴刻度处显示的字符
25 set(gcf,'Position',[100 100 350 220]);%设置绘图的大小
26 set(gca,'Position',[.15 .20 .80 .74]);%设置xy轴在图片中占的比例,可能需要自己微调。
27 %set(gca,'FontName','Times New Roman','FontSize',8,'LineWidth',1.5);
28
29 %print -f1 G:\output.jpg -djpeg -r800 %输出图形到指定文件夹
2.在一个窗口绘制多子图
1 %在一个窗口绘制多子图
2 % clear all
3 clc
4 x=0:0.1:7;
5 set(gcf,'Position',[100 100 350 340]);%设置绘图的大小
6 set(gca,'Position',[.15 .20 .80 .74]);%设置xy轴在图片中占的比例,可能需要自己微调。
7 set(gcf,'color','w');% 设置背景为白色
8
9
10 h1=subplot(3,1,1);
11 PPP=get(h1,'pos');%第NN张子图的当前位置
12 % PPP(3)=PPP(3)+0.04;%向右边延展0.04
13 PPP(4)=PPP(4)+0.05;%向上方延展0.05
14 set(h1,'pos',PPP)%根据新的边界设置。
15
16 load D:\IC_Design\picture\Journal\v1.txt %读取数据文件
17 data1=v1;
18 digits(15);
19 x1=vpa(data1(:,1));
20 y1=vpa(data1(:,2));
21 F1=plot(x1,y1);
22 ylabel('v1 / \rmV','Fontname', 'Times New Roman','FontWeight','bold','fontsize',10);
23 set(gca,'YLim',[-0.2 2]);%Y轴的数据显示范围
24 set(gca, 'YTick', [ 0 0.6 1.2 1.8 ]) %设置X坐标轴刻度数据点位置
25 set(gca,'YTickLabel',{'0','0.6','1.2','1.8'}) %设置Y坐标轴刻度处显示的字符
26 set(F1,'Linestyle','-','color','k','Linewidth',1);%设置第一条曲线的线型、颜色、粗细
27 set(gca,'Fontname', 'Times New Roman','FontWeight','bold','fontsize',10)%设置坐标轴字体大小,字型
28 % leg1=legend('v1');
29 % set(leg1,'box','off','Fontname','Times New Roman','FontWeight','bold','fontsize',10);%去除图例边框
30 % leg1.ItemTokenSize = [10,9];%调制图例标记长短
31
32 h2=subplot(3,1,2);
33 PPP=get(h2,'pos');%第NN张子图的当前位置
34 % PPP(3)=PPP(3)+0.04;%向右边延展0.04
35 PPP(4)=PPP(4)+0.05;%向上方延展0.05
36 set(h2,'pos',PPP)%根据新的边界设置。
37
38 load D:\IC_Design\picture\Journal\v2.txt
39 data2=v2;
40 digits(15);
41 x2=vpa(data2(:,1));
42 y2=vpa(data2(:,2));
43 F2=plot(x2,y2);
44 ylabel('v2 / \rmV','Fontname', 'Times New Roman','FontWeight','bold','fontsize',10);
45 set(gca,'YLim',[-0.2 2]);%Y轴的数据显示范围
46 set(gca, 'YTick', [ 0 0.6 1.2 1.8 ]) %设置X坐标轴刻度数据点位置
47 set(gca,'YTickLabel',{'0','0.6','1.2','1.8'}) %设置Y坐标轴刻度处显示的字符
48 set(F2,'Linestyle','-','color','k','Linewidth',1);%设置第2条曲线的线型、颜色、粗细
49 set(gca,'Fontname', 'Times New Roman','FontWeight','bold','fontsize',10)%设置坐标轴字体大小,字型
50 set([h1,h2],'XTick',[]) %将前两个x坐标不显示xtick
51 % leg2=legend('v2');
52 % set(leg2,'box','off','Fontname','Times New Roman','FontWeight','bold','fontsize',10);%去除图例边框
53 % leg2.ItemTokenSize = [10,9];%调制图例标记长短
54
55
56 h3=subplot(3,1,3);
57 PPP=get(h3,'pos');%第NN张子图的当前位置
58 % PPP(3)=PPP(3)+0.04;%向右边延展0.04
59 PPP(4)=PPP(4)+0.05;%向上方延展0.05
60 set(h3,'pos',PPP)%根据新的边界设置。
61
62 load D:\IC_Design\picture\Journal\v3.txt
63 data3=v3;
64 digits(15);
65 x3=vpa(data3(:,1));
66 y3=vpa(data3(:,2));
67 F3=plot(x3,y3);
68 xlabel('\itt / \rmns','Fontname', 'Times New Roman','FontWeight','bold','fontsize',10);
69 ylabel('v3 / \rmV','Fontname', 'Times New Roman','FontWeight','bold','fontsize',10);
70 set(gca, 'XTick', [0 2e-9 4e-9 6e-9 8e-9 10e-9 12e-9 14e-9 16e-9 18e-9]) %设置X坐标轴刻度数据点位置
71 set(gca,'XTickLabel',{'0','2','4','6','8','10','12','14','16','18'}) %设置X坐标轴刻度处显示的字符
72 set(gca,'YLim',[-0.2 2]);%Y轴的数据显示范围
73 set(gca, 'YTick', [ 0 0.6 1.2 1.8 ]) %设置X坐标轴刻度数据点位置
74 set(gca,'YTickLabel',{'0','0.6','1.2','1.8'}) %设置Y坐标轴刻度处显示的字符
75 set(F3,'Linestyle','-','color','k','Linewidth',1);%设置第一条曲线的线型、颜色、粗细
76 set(gca,'Fontname', 'Times New Roman','FontWeight','bold','fontsize',10)%设置坐标轴字体大小,字型
77 % leg3=legend('v3');
78 % set(leg3,'box','off','Fontname','Times New Roman','FontWeight','bold','fontsize',10);%去除图例边框
79 % leg3.ItemTokenSize = [10,9];%调制图例标记长短
80
81 print -f1 G:\v1~v3.jpg -djpeg -r800 %输出图形到指定文件夹
3.在一张图上绘制多条曲线
1 % 在一张图上绘制多条曲线
2 clear all
3 clc
4
5 load D:\IC_Design\picture\Journal\s11.txt
6 data=s11;
7 digits(15); %数据有效位数
8 x1=vpa(data(:,1));
9 y1=vpa(data(:,2));
10 H1=plot(x1,y1,'-');
11
12 hold on;
13 load D:\IC_Design\picture\Journal\s12.txt
14 data=s12;
15 digits(15); %数据有效位数
16 x2=vpa(data(:,1));
17 y2=vpa(data(:,2));
18 maker_idx = 1:30:length(x2);%避免标记太密集
19 H2=plot(x2,y2,'-*','MarkerIndices',maker_idx);
20
21 hold on;
22 load D:\IC_Design\picture\Journal\s21.txt
23 data=s21;
24 digits(15); %数据有效位数
25 x3=vpa(data(:,1));
26 y3=vpa(data(:,2));
27 H3=plot(x3,y3,'--');
28
29 hold on;
30 load D:\IC_Design\picture\Journal\s22.txt
31 data=s22;
32 digits(15); %数据有效位数
33 x4=vpa(data(:,1));
34 y4=vpa(data(:,2));
35 H4=plot(x4,y4,'-.');
36
37 % grid on
38 box off
39 % title('tran','Fontname', 'Times New Roman','FontWeight','bold','fontsize',10)
40 xlabel('\it f / \rmGHz','Fontname', 'Times New Roman','FontWeight','bold','fontsize',10);
41 ylabel('\itS / \rmdB','Fontname', 'Times New Roman','FontWeight','bold','fontsize',10);
42 % set(H2,'Linestyle','-','color','k','Linewidth',1);%设置第一条曲线的线型、颜色、粗细
43 set(findobj('Type','line'),'Color','k','Linewidth',1.5)%所有曲线(或者点)颜色一次性都变成黑色
44 set(gca,'Fontname', 'Times New Roman','FontWeight','bold','fontsize',10)%设置坐标轴字体大小,字型
45 set(gcf,'color','w');% 设置背景为白色
46 set(gca,'XLim',[0 20e9]);%X轴的数据显示范围
47 set(gca,'YLim',[-70 10]);%Y轴的数据显示范围
48 set(gca, 'XTick', [0 2e9 4e9 6e9 8e9 10e9 12e9 14e9 16e9 18e9 20e9]) %设置X坐标轴刻度数据点位置
49 set(gca,'XTickLabel',{'0.0','2.0','4.0','6.0','8.0','10.0','12.0','14.0','16.0','18.0','20.0'}) %设置X坐标轴刻度处显示的字符
50 set(gca, 'YTick', -70:10:10) %设置X坐标轴刻度
51 set(gca,'YTickLabel',num2str(get(gca,'YTick')','%.1f'))%设置刻度有效位数
52 set(gcf,'Position',[100 100 385 250]);%设置绘图的大小
53 set(gca,'Position',[.15 .20 .80 .74]);%设置xy轴在图片中占的比例,可能需要自己微调。
54 leg=legend('\itS_{\rm11}','\itS_{\rm12}','\itS_{\rm21}','\itS_{\rm22}');
55 set(leg,'box','off','Fontname','Times New Roman','FontWeight','bold','Position',[0.7 0.2 0.2 0.4],'fontsize',10);%去除图例边框
56 leg.ItemTokenSize = [25,9];%调制图例标记长短
57 % set(gca,'FontName','Times New Roman','FontSize',8,'LineWidth',1.5);
58 % export_fig G:\s11~s22.jpg -djpeg -r800
59 print -f1 G:\s11~s22.jpg -djpeg -r800 %输出图形到指定文件夹