在格子图形中生成单个绘图和条件图

时间:2015-03-25 16:27:05

标签: r plot lattice

您好:我正在玩“提示”''我教授的课程的数据集。我想生成一个.png文件,该文件在绘图设备的顶行(理想情况下位于窗口的中心顶部)中具有作为大小函数的尖端图,而底行是调节作为大小函数的尖端图,由从数据集中包含的total_bill变量重新编码的分类变量分组。我对ggplot2环境比较熟悉,虽然我也无法弄清楚如何在那里做到这一点。 谢谢!

library(reshape2)
library(grid)
library(lattice)
data(tips)
tips$bill2<-cut(tips$total_bill, breaks=3, labels=c('low', 'medium', 'high'))
#Create one plot window with this plot on the top row, ideally in the center
xyplot(tip~size, data=tips,type=c('r', 'p'))
#With this plot in the second row
xyplot(tip~size|bill2, data=tips, type=c('r', 'p'))

1 个答案:

答案 0 :(得分:0)

您可以将split参数用于print

p1 <- xyplot(tip~size, data=tips,type=c('r', 'p'))
p2 <- xyplot(tip~size|bill2, data=tips, type=c('r', 'p'))

print(p1,split=c(1,1,1,2),more=TRUE)
print(p2,split=c(1,2,1,2),more=FALSE)

请参阅?print.trellis

更新以调整尺寸

这也在?print.trellis

print(p1,split=c(1,1,1,2),more=TRUE,position=c(.3,0,.7,1))
print(p2,split=c(1,2,1,2),more=FALSE)

如果您愿意,可以调整position

顺便说一下,根据图形窗口的形状,lattice可能并不总是将第二个图形排列为一行中的3个面板。您可以通过

强制执行此操作
p2 <- xyplot(tip~size|bill2, data=tips, type=c('r', 'p'),layout=c(3,1))