2015-03-25 2 views
0

Приветствую вас: Я играю с набором данных `` tips '' для курса, который я преподаю. Я хотел бы создать один .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')) 

ответ

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

Update: регулировать размер

Это также находится в ?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)) 
+0

Привет, так что работает, но верхний участок простирается на все три участка во втором ряду. есть ли способ ограничить его заполнением только центральной колонки (график?) – spindoctor

+0

@spindoctor, обновленный. – DaveTurek

Смежные вопросы