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
______________________________________________
[email protected] 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.