Tobias Sing
2008-Apr-14 18:20 UTC
[R] odfWeave: in multi-page plots only last page appears in document
Dear all,
Max, first of all, many thanks for providing the odfWeave package.
My problem: Whenever I have multiple plots in one single chunk of my
ODF file, only the last plot gets shown. The problem can be reproduced
with this toy example (to be used in an ODF file together with
odfWeave -- I'm using the newest version 0.7.3):
<<plot1, echo=FALSE, fig=TRUE>>for (i in 1:3) {
plot(1,1, main=paste('Plot',i))
}
@
I thought the solution (I hope there is one) might be found with
setImageDefs (e.g. by setting type and/or device to postscript and
working with the 'onefile' argument) , but I couldn't solve the
problem. So maybe this is not the right idea for a solution. In any
case, here is my current getImageDefs:
> getImageDefs()
$type
[1] "png"
$device
[1] "png"
$plotHeight
[1] 480
$plotWidth
[1] 480
$dispHeight
[1] 5
$dispWidth
[1] 5
$args
list()
Any help appreciated.
Kind regards,
Tobias
Sarah Goslee
2008-Apr-14 18:32 UTC
[R] odfWeave: in multi-page plots only last page appears in document
If you ran that code outside ODFWeave, you'd only get one plot,
so why would you expect to get more within ODFWeave?
for (i in 1:3) {> plot(1,1, main=paste('Plot',i))
> }
You need to add some sort of par() command, or use layout(), to create
a single plot that contains all three of the plots created by the loop.
par(mfrow=c(2,2))
for (i in 1:3) {
plot(1,1, main=paste('Plot',i))
}
for example.
Or, if you want ODFWeave to handle placement, then you need to
break that into three separate plots.
Sarah
On Mon, Apr 14, 2008 at 2:20 PM, Tobias Sing <tobias.sing at gmail.com>
wrote:> Dear all,
>
> Max, first of all, many thanks for providing the odfWeave package.
>
> My problem: Whenever I have multiple plots in one single chunk of my
> ODF file, only the last plot gets shown. The problem can be reproduced
> with this toy example (to be used in an ODF file together with
> odfWeave -- I'm using the newest version 0.7.3):
>
> <<plot1, echo=FALSE, fig=TRUE>>> for (i in 1:3) {
> plot(1,1, main=paste('Plot',i))
> }
> @
>
--
Sarah Goslee
http://www.functionaldiversity.org