MATLAB畫圖之自定義圖片大小


解決問題:使用MATLABplot函數畫圖時彈出圖片的大小和位置修改。

MATLAB畫圖的幾個概念:

screen: 屏幕;

figure: 彈出來的對話框;figure變化,screen不會變化;screen變化,figure不會變化;

axes: figure 中的圖像,axes的大小取決於figurefigure大小變化,axes大小也會變化;

set(gcf, ……):figure大小和位置進行設置;

set(gca, ……):axes大小和位置進行設置;

 

一、自定義figure的大小和位置

程序:

clear;
clc;
close all;
t = 0:0.001:10;
y1 = sin(t);
 
figure(1);
plot(t,y1);

程序運行結果:

 

默認情況下,figure大致在screen的正中間,大致為一個方形(具體參數沒有深究),如果我們想要自定義figure在screen的位置和大小,有兩種方法可以實現。

第一種方法:在聲明figure時定義大小,將上述程序修改為:

clear;
clc;
close all;
t = 0:0.001:10;
y1 = sin(t);
 
figure('Units','centimeter','Position',[5 5 7 3.5]);
plot(t,y1);

其中'Units','centimeter' 用來定義單位;'Position',[5 5 7 3.5]用來定義位置。

[5 5 7 3.5]表示為[x0 y0 width height]

X0, y0: 表示figure左下角在screen中的位置,參考位置是screen左下角;

Width, height: 表示figure的寬和高的大小。

程序運行結果:

 

第二種方法:使用set(gcf, ……)命令,將上述程序修改為:

clear;
clc;
close all;
t = 0:0.001:10;
y1 = sin(t);
 
figure(1);
set(gcf,'Units','centimeter','Position',[5 5 7 3.5]); 
plot(t,y1);

單位和位置的定義方式同第一種方法,程序運行結果為:

 

 

二、 自定義figure中圖像的大小和位置

使用set(gca, ……)指令,該指令設置的是圖的坐標線axes的位置及大小,並不是坐標線標注的位置。

將上述程序修改為:

clear;
clc;
close all;
t = 0:0.001:10;
y1 = sin(t);
 
figure(1);
set(gcf,'Units','centimeter','Position',[5 5 7 3.5]); 
set(gca,'position',[0.3,0.2,0.5,0.6]);
plot(t,y1);

該指令中的單位為相對值,其中0.3,0.2表示axes的左下角在figure中的距離為figure的寬度×0.3和figure的高度×0.2;

0.5和0.6表示axes的寬度和高度分別為figure的寬度×0.5和figure的高度×0.6。

程序運行結果為:

 

 

 

 


免責聲明!

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



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