On Dec 5, 2009, at 11:21 AM, Walther, Alexander wrote:

Dear List,


i have a question concerning these device-related function (i.e.
pdf(),jpeg(), etc.). Currently, I plot three graphs, one below the other into a /single/ window by using par(). I would like to save this figure
now as JPEG or PNG. By now, code looks as follows:


jepg(...)

par(...)
plot(...)

par(...)
plot(...)

par(...)
plot(...)

dev.off()


Unfortunaltely, I just get the last plot saved, the rest is dismissed.
Does anyone have a solution for this problem?

Cheers

Alex


In the sequence you have above, each time you call plot(), you are erasing the prior plot.

What you want is:

jpeg(...)

par(mfrow = (3, 1))

plot(...)
plot(...)
plot(...)

dev.off()


That will create a plot matrix of 3 rows and 1 column, which will be saved to the jpeg file. Each new plot will be below the prior one.

A good way of going about this is to start by just plotting to the normal display device and then output to an external file. For the most part, the output should be similar, as long as you don't re-size the display device (eg. dragging a corner, etc.). With the code you have above, you would see right away that each new plot was clearing the prior one, thus knowing that this behavior was not unique to jpeg().

You can then tweak the plot as may be needed for the jpeg device.

You can also use ?layout to play around with creating differing arrangements of plots within a single device instance.

HTH,

Marc Schwartz

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to