Сюжет gList бок о бок

У меня есть 2 объекта gList (сетка), которые отлично отображаются, когда я это делаю

grid.draw(plot1)
grid.draw(plot2)

Но я хочу, чтобы они были рядом в PDF. Что-то типа

pdf(test.pdf)
par(mfrow=c(1,2))
plot(1:10)
plot(10:1)
dev.off

Но это не работает.


person monkeyking    schedule 20.03.2013    source источник
comment
Ваш пример действительно сбивает с толку. Вы хотите поставить рядом сетку или базовую графику?   -  person agstudy    schedule 20.03.2013


Ответы (1)


Чтобы упорядочить grid объекты, вы можете использовать grid.layout в окне просмотра. вот пример.

pushViewport(plotViewport(layout=grid.layout(1, 2),gp=gpar(cex=2)))
pushViewport(plotViewport(layout.pos.col=1))
  grid.draw(getPlot())
popViewport()
pushViewport(plotViewport(layout.pos.col=2, clip="on"))
  grid.draw(getPlot(col.fill='black',col.text='red',text='Rouge',x=0))
popViewport()
popViewport()

введите здесь описание изображения

здесь getPlot — функция, возвращающая gList;

getPlot <- function(col.fill="red",col.text='black',text="Noir",x=1){
  rect1 <- rectGrob(gp=gpar(fill=col.fill))
  text1 <- textGrob(text,gp=gpar(col=col.text))
  text2 <- textGrob("&", x=x,gp=gpar(col=col.text))
  gList(rect1,text1,text2)
}
person agstudy    schedule 20.03.2013