在Sweave中渲染网格图形

时间:2011-05-19 17:28:50

标签: r sweave

我有一个简短的例程,它使用gridExtras包中的grid.arrange函数来排列ggplot和grid图形。我需要在我的Sweave文档中渲染我的例程(名义上使用grid.draw打印,或者返回网格对象作为选项)的输出。我不知道如何做到这一点,因为说我一直在使用“打印”并不像纯ggplot图形那样工作。我试过了:

g <- ggkm(survfit.object, returns=T)
print(g)

其中g是grid.arrange创建的对象,并且具有类

> class(g)
[1] "frame" "gTree" "grob"  "gDesc"

任何帮助将不胜感激

作者Abhijit

1 个答案:

答案 0 :(得分:3)

在创建对象时打印对象而不是打印已保存的对象似乎有效,但我无法解释原因......

\documentclass{article}
\begin{document}


<<>>=
library(ggplot2)
library(gridExtra)

d <- data.frame(x=1:10,y=1:10,z=runif(10))
g1 <- qplot(x,y,data=d)
g2 <- qplot(x,z,data=d)
@ 

<<fig=TRUE,results=hide>>=
print(grid.arrange(g1,g2,ncol=2))
@ 

\end{document}

enter image description here