Подобные вопросы были заданы как здесь , но я не нашел решения этой проблемы с использованием решетки ...
Я хотел бы сделать графику наподобие car :: scatterplot () гдеможно построить граничные распределения (например, boxplot) вдоль осей x и y xyplot ()
require(car)
data(Prestige, package="carData")
car::scatterplot(prestige~income, data=Prestige, boxplots="xy")
см. изображение здесь
У меня есть элементы для решетки:
require(lattice)
require(latticeExtra)
require(grid)
plot1 <- xyplot(x=prestige~income, data=Prestige,
panel=function(x, y, ...)
{
panel.grid(h=-1, v=-1)
panel.xyplot(x, y, ...)
panel.lmline(x, y, ...)
})
plot2 <- bwplot(Prestige$income, xlab="", ylab="", scales=list(col=0),
par.settings = list(axis.line=list(col="transparent")))
plot3 <- bwplot(Prestige$prestige, xlab="", ylab="", scales=list(col=0),
par.settings = list(axis.line=list(col="transparent")))
vp <- viewport(width=0.9, height=0.9)
pushViewport(vp)
vp1 <- viewport(x=0.25, y=0.25, width=0.75, height=0.75, just=c("left", "bottom"))
pushViewport(vp1)
print(plot1, newpage=FALSE)
upViewport()
vp2 <- viewport(x=0.25, y=0, width=0.75, height=0.30, just=c("left", "bottom"))
pushViewport(vp2)
print(plot2, newpage=FALSE)
upViewport()
vp3 <- viewport(x=0, y=0.25, width=0.75, height=0.30, just=c("left", "top"), angle=90)
pushViewport(vp3)
print(plot3, newpage=FALSE)
см. Изображение здесь
Элементы на месте, но как я могу установить расположение предельных распределений так, чтобы точки данных совпадали с точками данных?в xypot ()?- То есть без проб и ошибок для x- и y-позиций в области просмотра ().
Есть идеи?-- большое спасибо вам!Roland