三個實例搞定MATLAb二維曲線圖(plot繪制圖像)


https://blog.csdn.net/zyqblog/article/details/60965988

實例一:多子圖、命令plot、圖形標識(圖名和橫縱坐標)演示






  • 多子圖:subplot (m,n,k) 一個窗口划分成mn個小塊,每個小塊存放一個子圖,k是子圖的編號。 編號規則是: 從左到右邊,從上到下依次編號。


%% 定義函數
  t = (0:pi/50:2*pi)';          % 列向量  101*1
  k = (0.4 :0.1 :1);            % 行向量  1*7
  y = cos(t)*k ;                % 矩陣101*7
%% 畫第一幅子圖
  subplot(2,2,1);       %操作兩幅子圖中的第一幅  
  plot(t,y,'r','LineWidth',1.5 );    %畫圖,t是橫坐標,y是縱坐標,屬性    lineWidth的值是1.5(即線寬度為1.5), 顏色為紅色(手動指定)
  title('y隨t的變化圖');            %圖名
  xlabel('t');                    %橫坐標軸名
  ylabel('y = cos(t)*k ');         %縱坐標軸名
%%  畫第二幅子圖
  subplot(2,2,2);       %操作兩幅子圖中的第二幅  
  plot(k,y,'LineStyle',':');    % 線的形狀是虛點線,色彩是彩色的,當有多條線,且不指定時,按照默認的色彩次序用細實線繪制多條曲線
  title('y隨k的變化圖');           %圖名
  xlabel('k');                    %橫坐標軸名
  ylabel('y = cos(t)*k ');        %縱坐標軸名
%% 畫第三幅子圖
  subplot(2,2,3);       %操作兩幅子圖中的第三幅   
  plot(t,y,k,y , 'Marker','*','MarkerSize',7.0);    % 一幅圖上有兩個數據集,設置數據點形為*,大小是7.0
  title('y隨兩種參數的兩種變化圖');         %圖名
  xlabel('k');                          %橫坐標軸名
  ylabel('y = cos(t)*k ');              %縱坐標軸名

 


 

 

 

 

 

實例二:坐標軸的控制、圖形標識(圖例、注釋)、多次疊繪、圖像句柄、分格線






  • 多次疊繪: 在已有圖像的上再繪制圖像
%% 定義函數
x = 0:0.01:2*pi;
y1 = sin(x);
y2 = cos(x);
%% 畫圖/多次疊繪
F1 = plot(x,y2)  %設置圖像的句柄為F1
set(F1,'LineStyle','-.','color','b');%對F1的圖像進行設置
hold on         %在y1圖像的基礎上,再繪制y2圖像
F2 = plot(x,y1,'r')    %設置圖像的句柄為F1
set(F2,'color','r');    %對F1的圖像進行設置
%% 加注釋(完全可以用圖形化界面工具來做)
text(3,0.1,'{\fontsize{15}\leftarrow這個地方好陡峭}');
%% 加網格
grid on;   %應用分格線(網格)
set(gca,'xtick',[0:0.5:7]) ;    % 修改網格間隔。獲得gca句柄(坐標軸的句柄),設置xtick(x軸網格)從0~7,間隔是0.5
set(gca,'ytick',[-1 ;-0.6;0;0.6;1]);   %固定網格線
%% 加圖例(完全可以用圖形化界面工具來做)
h = legend([F2,F1],'sin(x)','cos(x)');      %加一個圖例,句柄h。 指明F2是sin(x),F1是cos(x)
set(h,'fontsize',16,'color','k','edgecolor','r','textcolor','w') ;  %對圖例h進行精細設置
%% 坐標軸控制
axis([0,2*pi-0.4,-0.8,1]); %將橫坐標范圍設定到0~2*pi-0.4,縱坐標范圍設定到-0.8~1
%% 橫縱坐標的名稱
title('{\fontsize{14}\bfsin(x)和cos(x)的曲線}');       
xlabel('{\fontsize{14}\bft\rightarrow}')    ;
ylabel('{\fontsize{14}\bfy}')    ;
%% 拆分圖例,能夠讓圖例中的F1和F2分離開,各自都能相互移動
ax1 = axes('position',get(gca,'position'),'visible','off');
legend(ax1,F1,'sin(x)','location','northwest');
ax2 = axes('position',get(gca,'position'),'visible','off');
legend(ax2,F2,'cos(x)','location','northeast');

 

 

 

 

 

 



實例三:雙縱坐標、新建圖像






  • 雙縱坐標: 一個x自變量,有兩個y函數對於之對應。
  • 新建圖像: 在軟件打開一張圖像后,運行下一個代碼,再打開一張圖像,而不是把原來的圖像關閉

 

%% 定義函數
x = 0:0.01:20;
y1 = 200*exp(-0.05*x).*sin(x);
y2 = 0.8*exp(-0.5*x).*sin(10*x);
%% 畫圖
figure;  % 新建一個圖像
[AX,H1,H2] = plotyy(x,y1,x,y2); %返回在AX中創建的兩個軸的句柄和來自H1和H2中的每個圖的圖形對象的句柄。 AX(1)是左軸,AX(2)是右軸。
%% 設置兩個縱坐標的名稱
set(get(AX(1),'ylabel'),'String','Slow Decay')  %第一個縱坐標的名稱
set(get(AX(2),'ylabel'),'String','Fast Decay')   %第二 個縱坐標的名稱
%上述兩行代碼可以用以下兩行代碼替換。
%ylabel(AX(1),'Slow Decay') % left y-axis
%ylabel(AX(2),'Fast Decay') % right y-axis
%% 設置兩個縱坐標的樣式
set(H1,'LineStyle','--')      %設置虛線
set(H2,'LineStyle',':')       %設置為點線
%% 設置標題和橫坐標
xlabel('Time (\musec)')            %橫坐標的名稱
title('Multiple Decay Rates')  %標題

 

 

 

 

·---------------------------------------補充201904-----------------------------------------------------------------

一個小參考繪圖代碼

figure
x=1:10:200 ;
f1 = semilogy(x,t20(1:10:200,1));  
hold on ;
f2 = semilogy(x,t20(1:10:200,2));
hold on ;
f3 = semilogy(x,t20(1:10:200,3));
set(f1,'Color','r',...     
       'LineStyle','-',...
       'LineWidth',1.5,...
       'Marker','^',...
       'MarkerSize',10 ...
   );
set(f2,'Color','k',...      
       'LineStyle','-',...
       'LineWidth',1.5,...
       'Marker','o',...
       'MarkerSize',10 ...
   );
set(f3,'Color','b',...      
       'LineStyle','-',...
       'LineWidth',1.5,...
       'Marker','d',...
       'MarkerSize',10 ...
   );
h = legend([f1,f2,f3],'HB-GOA','IGPSO','BASFPA'); %設置圖例
set(h,'fontsize',15) ; 
set(f1,'defaultfigurecolor','w') % 設置周圍顏色為白色
set(gca,'FontSize',13);  % 設置坐標軸刻度和坐標軸文字的大小
xlabel('迭代次數','FontSize',20) ; % 重新設置坐標軸文字的大小
ylabel('目標函數值','FontSize',20) ;

 


免責聲明!

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



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