用MATLAB對數據進行繪圖


在寫論文或者寫報告的時候,經常需要用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 %輸出圖形到指定文件夾

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM