在写论文或者写报告的时候,经常需要用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 %输出图形到指定文件夹

 

版权声明:本文为huangch1425237207原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/huangch1425237207/p/12965141.html