views:

178

answers:

6

How do you plot two figures at the same time in Matlab? Every time I use surf() it plots over the old one. Also, how do you save the images so you can export them to MS word or powerpoint or something?

A: 

To create a new figure in a separate window, just say figure. To export as an image file, use the print command with the appropriate -d option to select the file format. Like so:

figure;
plot(rand(100,1), rand(100, 1), 'r*');
print -dpng 'MyImage.png'
Drew Hall
+1  A: 

Use the command figure before each plot/surf/mesh.

example

X = [1:5];
figure('Name', 'My plot');
plot(X, X+X);
figure('Name', 'My plot number 2');
plot(X, X + X + X);
noinflection
+2  A: 

You can plot two figures in separate windows:


figure(1)
% do plotting
figure(2)
% do plotting

or in subplots:


figure(1)
subplot(1, 2, 1)
% do plotting
subplot(1, 2, 2)
% do plotting

For more info, you can see the MATLAB docs for the figure and subplot functions (in the help menu).

For printing the images to a file, see the documentation for the print function. Or just go to File -> Save As, and pick the image type you want.

ajduff574
+1  A: 

Call figure before calling surf. figure opens a new figure window. When you call surf, it will plot into the currently selected figure.

You can copy-paste figures into Word or Powerpoint by using, in the figure window, the menu Edit->Copy Figure. If in, say Word, you click on the pasted figure and select 'ungroup', you can even go and edit the figure.

To save, you select 'Save as...' in the File-menu in the figure window. For Adobe Illustrator, save as .eps (works better than .ai).

Jonas
A: 

Execute hold on to hold the current figure. New plots will be added to the existing plots. Use hold off to change it back to the previous behavior.

In addition to the print command (see Drew Hall's response), you can export to other formats via the File menu, or use the Copy Figure function of the edit menu. If you want to paste it into Word or Powerpoint, you might get a better result if you use "Paste Special" instead of normal Paste.

kwatford
+1  A: 

As another small addition to previous responses, you can print a figure directly to clipboard using print -dmeta command. Then just paste to Word or PowerPoint document. I found it very neat.

yuk

related questions