matlab,如何得到清晰的矢量圖,而不是一個截圖


1.MATLAB中3中不同的清理變量、顯示窗口及圖形的命令:

clear;  清除變量
clc;    清理當前命令窗口

clf;  清除當前激活的figure

2.MATLAB/Figure圖形保存

(1)我們在使用MATLAB繪制出數據的各種圖形需要保存,不少同學都是直接用屏幕截圖的方法來做的,但這樣做出來的圖並不清晰,不便於后續應用於處理,且不符合論文使用要求。實際上,我們可以有下面更好的辦法來處理圖形:
在MATLAB的Figure窗口,點擊菜單欄上的Edit,選擇Copy Figure,然后在文檔中將光標放到需要插入圖片的位置,然后Ctrl+V,就可以得到清晰的圖片;
需要注意的是,這時候的圖片相當於一部分空白區域,你可以用word圖片工具欄的“裁剪”功能把圖片空白區域消除;
另外,如果需要對圖片的大小進行拉伸,最好不要直接用鼠標拖,這樣容易導致圖中的點線分布變形,可以右鍵點擊圖片,選擇“大小”,設置圖片的尺寸。
------------------------------------------------------------------------------------------------------------------------------------------
為了便於后續處理和應用,建議大家形成一個良好的習慣,即把繪制所得的Figure窗口直接保存為.fig文件,以后就可以多次打開它,對圖形進行修改處理。
 
 
(2)在做Simulink仿真時,使用的Scope波形顯示模塊實際上也是一個Figure窗口,不過MATLAB把Scope的菜單欄隱藏起來了。在MATLAB的命令行輸入以下指令來恢復顯示Scope的Figure菜單欄。

  set(0,'ShowHiddenHandles','on');
  set(gcf,'menubar','figure');

另外,也可以使用下面的指令:

  shh = get(0,'ShowHiddenHandles');

  set(0,'ShowHiddenHandles','On');

  set(gcf,'menubar','figure');

  set(gcf,'CloseRequestFcn','closereq');

  set(gcf,'DefaultLineClipping','Off');

  set(0,'ShowHiddenHandles',shh);

 
             
  
然后點擊菜單欄上的Edit,選擇Copy Figure來保持波形,也可以選擇Figure Properties來調整Scope的各種圖形屬性,包括添加標簽,更改背景顏色,調整波形曲線的線型、粗細等等。
----------------------------------------------------------------------------------------------------
 
網上發現的codes,可以將Figure中的圖形變成透明背景的圖片:  
   set(gcf,'color','none'); 
   set(gca,'color','none');
 
  • 輸出流量 (m^3)
 
set(gcf,'color','none');%圖形背景設為無色
set(gca,'color','none');%坐標軸背景設為無色,這條更重要,通常圖形背景的白色實際為坐標軸背景色
 

3.如何將Excel中的數據導入MATLAB並在MATLAB中作出圖像

在MATLAB中使用命令xlsread讀取Excel中的數據到MATLAB里:(此時讀取的文件須在MATLAB默認路徑下)
 
 C = xlsread('filename.xlsx');
 C = xlsread('filename.xlsx','range');range表示讀取excel的range范圍
 C = xlsread('filename.xlsx', 'sheet', 'range');
 
例如:C=xlsread('data.xlsx','2013858_1','A1:C41');
  
將數據讀取到MATLAB的工作空間之后,使用plot指令畫圖:
 
 plot(C(:,1),C(:,2),'r+',C1(:,1),C1(:,2),'k*');
 
   ----------------------------------------------------------------------------------------------------------
 

 4.Simulink仿真時,如何將Scope波形數據輸出到工作空間,然后用plot指令畫圖

首先,對Scope進行如下設置:
運行Simulink,將數據輸出到主界面的工作空間中,接着用plot畫圖:

figure;   

plot(ScopeData(:,1),ScopeData(:,2),'LineWidth',1.5);

hold on;

plot(ScopeData(:,1),ScopeData(:,3),'r:','LineWidth',1.5);

legend('正弦波','鋸齒波');

hold off;

 

5.MATLAB中plot的用法 

圖形修飾函數:
  grid on (/off);  給當前圖形標記添加(取消)網格
  xlabel('string');標記橫坐標
  ylabel('string');標記縱坐標
  title('string');給圖形添加標題
  text(x,y,'string');在圖形的任意位置增加說明性文本信息
  gtext('string');利用鼠標添加說明性文本信息
  axis([xmin xmax ymin ymax]);設置坐標軸的最大最小值
例如:
  xlabel('independent variable X');
  ylabel('Dependent Variable Y1 & Y2');
  title('Sine and Cosine Curve');
  text(1.5,0.3,'cos(x)');
  gtext('sin(x)');
  axis([0 2*pi -0.9 0.9]);
 
------------------------------------------------------------------------------------------------
 
一般情況下,MATLAB每次使用plot函數進行圖形繪制,將重新產生一個圖形窗口。但有時希望后續的圖形能夠和前面所繪制的圖形進行比較。一般有兩種方法:
 
(1)采用hold on/off命令:
  plot(x,y1,x,y2);
  hold on;
  plot(x,y3);
  plot(x,y4);
  hold off;
(2)采用subplot(m,n,k)指令將圖形窗口分成mxn個子圖,k是子圖編號。
  x=0:pi/10:2*pi;
  y1=sin(x);
  y2=cos(x);
  y3=exp(x);
  y4=log(x);
  subplot(2,2,1);
  plot(x,y1);
  subplot(2,2,2);
  plot(x,y2);
  subplot(2,2,3);
  plot(x,y3);
  subplot(2,2,4);
  plot(x,y4);

 

 

。。。。the end!有需要再補充

 

 

 


免責聲明!

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



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