你如何在Matlab中同时绘制两个数字?每当我使用surf()时,它都会覆盖旧的。另外,如何保存图像以便将它们导出到MS word或powerpoint等?
答案 0 :(得分:5)
您可以在不同的窗口中绘制两个数字:
figure(1)
% do plotting
figure(2)
% do plotting
或在子图中:
figure(1)
subplot(1, 2, 1)
% do plotting
subplot(1, 2, 2)
% do plotting
有关详细信息,您可以查看图形和子图功能的MATLAB文档(在帮助菜单中)。
要将图像打印到文件,请参阅打印功能的说明文件。或者只是转到文件 - >另存为,然后选择所需的图像类型。
答案 1 :(得分:1)
在每个plot / surf / mesh之前使用命令图。
例如
X = [1:5];
figure('Name', 'My plot');
plot(X, X+X);
figure('Name', 'My plot number 2');
plot(X, X + X + X);
答案 2 :(得分:1)
在致电figure
之前致电surf
。 figure
打开一个新的数字窗口。当您致电surf
时,它会绘制到当前选定的数字中。
您可以在图窗口中使用菜单Edit-> Copy Figure将图形复制粘贴到Word或Powerpoint中。如果在Word中,单击粘贴的图形并选择“取消组合”,您甚至可以编辑图形。
要保存,请在图窗口的文件菜单中选择“另存为...”。对于Adobe Illustrator,另存为.eps(效果优于.ai)。
答案 3 :(得分:1)
作为之前回复的另一个小补充,您可以使用print -dmeta
命令将图形直接打印到剪贴板。然后只需粘贴到Word或PowerPoint文档。我发现它非常整洁。
答案 4 :(得分:1)
@kwatford如果你使用hold all
而不是hold on
,那么Matlab将使用下一个定义的颜色和线条样式。看看
figure(1);
plot(rand(100,1));
hold on ;
plot(rand(100,1)+2);
和
figure(2);
plot(rand(100,1));
hold all;
plot(rand(100,1)+2);
答案 5 :(得分:0)
要在单独的窗口中创建新图形,只需说出figure
。要导出为图像文件,请使用带有相应print
选项的-d
命令选择文件格式。像这样:
figure;
plot(rand(100,1), rand(100, 1), 'r*');
print -dpng 'MyImage.png'
答案 6 :(得分:0)
执行hold on
以保持当前数字。新图将添加到现有图中。使用hold off
将其更改回之前的行为。
除print
命令(参见Drew Hall的回复)外,您还可以通过“文件”菜单导出为其他格式,或使用编辑菜单的“复制图”功能。如果要将其粘贴到Word或Powerpoint中,如果使用“选择性粘贴”而不是普通粘贴,则可能会得到更好的结果。