Ggplot2 with chum

I have the following code that works as it is, but does not work when cache = T Changing the device does not matter (default, tikz, cairo)

% \SweaveOpts{fig.path=cache/figure/plot-,cache.path=cache/data/data-,fig.align=center,external=TRUE,fig.show=hold,cache=TRUE,echo=FALSE,pdfcrop=TRUE} <<message=F,fig.width=9,fig.height=6,out.width=\textwidth,cache=F>>= grid.newpage() pushViewport(viewport(layout = grid.layout(2,9))) d <- ncol(rTSc) p <- ggplot(melt(coveig),aes(1:d,value,group=variable,col=variable)) + geom_line() + labs(x="index",y="eigenvalue") + opts(legend.position = "none") print(p, vp=viewport(layout.pos.row=1,layout.pos.col=1:4)) p <- ggplot(melt(coreig),aes(1:d,value,group=variable,col=variable)) + geom_line() + labs(x="index",y="eigenvalue") print(p, vp=viewport(layout.pos.row=1,layout.pos.col=5:9)) p <- ggplot(melt(coveig.cs),aes(1:d,value,group=variable,col=variable)) + geom_line() + labs(x="index",y="cumulative eigenvalue") + opts(legend.position = "none") print(p, vp=viewport(layout.pos.row=2,layout.pos.col=1:4)) p <- ggplot(melt(coreig.cs),aes(1:d,value,group=variable,col=variable)) + geom_line() + labs(x="index",y="cumulative eigenvalue") print(p, vp=viewport(layout.pos.row=2,layout.pos.col=5:9)) @ 

Why is this so? Any ideas?

Thanks!

+4
source share
1 answer

Overriding p seems to be something that will bite the cache. Try saving the images as separate graphs, and then place them in the viewer one at a time. (It also provides clearer code).

 \documentclass[12pt]{article} \title{Example} \begin{document} <<loading,echo=F>>= library(ggplot2) library(gridExtra) @ \section{This is a Section} <<message=F,fig.width=9,fig.height=6,out.width=\textwidth,cache=T>>= x <- rnorm(100) y <- runif(100) dat <- data.frame(x,y) grid.newpage() pushViewport(viewport(layout = grid.layout(2,9))) p1 <- ggplot(dat, aes(x,y)) + geom_point() p2 <- ggplot(dat, aes(y,x)) + geom_point() print(p1, vp=viewport(layout.pos.row=1,layout.pos.col=1:9)) print(p2, vp=viewport(layout.pos.row=2,layout.pos.col=1:9)) @ \end{document} 
+5
source

Source: https://habr.com/ru/post/1398213/


All Articles