2009-01-11 32 views
49

通常當我在MATLAB中繪製時,它總是繪製相同的圖形。我如何讓它以新的身材畫出來?如何在MATLAB中創建一個新圖形?

我知道這很基本,但我沒有使用Google搜索找到它。

+3

Matlab的集成幫助(`doc`)真的很有用,它的搜索工具運行良好。 – wap26 2012-08-03 14:41:02

回答

74
figure; 
plot(something); 

figure(2); 
plot(something); 
... 
figure(3); 
plot(something else); 
... 

+0

在MATLAB中是否有一些設置,以便每次我發出命令「plot」時,都會在新圖形窗口上繪製圖形,而不會特別鍵入figure(n),然後繪圖? – chandresh 2016-01-08 04:29:12

+0

@Federico A. Ramponi爲什麼不從圖(1)開始,而是從圖(2)開始? – kyle 2016-06-19 02:45:04

12

其他的事情要小心的是,當你開始一個新的陰謀使用clf(明確的數字)命令。否則,您可能正在繪製一個預先存在的圖形(單獨使用figure命令不可能,但如果您的圖形編號爲figure(2),則可能已有一個圖形#2),具有多個座標軸或座標有點滑稽。使用clf保證你從頭開始:

figure(N); 
clf; 
plot(something); 
... 
22

雖然做「圖(1),圖(2),...」,將解決在大多數情況下問題,它不會在解決這些問題所有情況。假設在運行代碼之前,您的桌面上有一堆MATLAB數字,以及您打開的時間有多少有所不同。使用提供的答案,您將覆蓋這些您可能不想要的數字。簡單的解決方法是在繪圖之前使用命令「figure」。

例子:你有你的桌面從運行過以前的腳本五個數字和您使用

figure(1); 
plot(...) 

figure(2); 
plot(...) 

你剛纔繪製在您的桌面上的數字。然而代碼

figure; 
plot(...) 

figure; 
plot(...) 

剛剛創建圖6和7與您所需的情節,並留下您以前的情節1-5獨自一人。

3

如前所述:figure將爲您的下一個繪圖創建一個新圖形。在撥打figure時,您也可以對其進行配置。示例:

figHandle = figure('Name', 'Name of Figure', 'OuterPosition',[1, 1, scrsz(3), scrsz(4)]); 

該示例設置窗口的名稱及其與所用屏幕相關的外部大小。 這裏figHandle是生成圖形的句柄,稍後可用於更改外觀和內容。例子:

點標記:

figHandle.PaperOrientation = 'portrait'; 
figHandle.PaperUnits = 'centimeters'; 

舊樣式:

set(figHandle, 'PaperOrientation', 'portrait', 'PaperUnits', 'centimeters'); 

使用手柄點符號或set,打印選項進行了配置。

通過使用distinc名稱保持圖形的手柄,您可以與多個活動人物進行交互。要將現有人物設置爲您的活動人員,請致電figure(figHandle)。新的地塊現在會去那裏。

0

就這麼簡單這 -

figure, plot(yourfigure); 
1

另一種常見的方法是當你想要多條曲線在一個窗口上是相同的(新)圖

f = figure; 
hold on 
plot(x1,y1) 
plot(x2,y2) 
... 

地塊多個數據集。

相關問題