2009-01-11 34 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) 
... 

地块多个数据集。

相关问题