R решетка - показать предельное распределение вдоль xyplot - PullRequest
0 голосов
/ 25 февраля 2019

Подобные вопросы были заданы как здесь , но я не нашел решения этой проблемы с использованием решетки ...

Я хотел бы сделать графику наподобие 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

...