我有来自两个类别的二维数据的散点图。我想为每个维度添加密度线——而不是在图之外(参见ggplot2 中带有边缘直方图的散点图 https://stackoverflow.com/questions/8545035/scatterplot-with-marginal-histograms-in-ggplot2)但就在绘图表面上。我可以得到 x 轴尺寸,如下所示:
set.seed(123)
dim1 <- c(rnorm(100, mean=1), rnorm(100, mean=4))
dim2 <- rnorm(200, mean=1)
cat <- factor(c(rep("a", 100), rep("b", 100)))
mydf <- data.frame(cbind(dim2, dim1, cat))
ggplot(data=mydf, aes(x=dim1, y=dim2, colour=as.factor(cat))) +
geom_point() +
stat_density(aes(x=dim1, y=(-2+(..scaled..))),
position="identity", geom="line")
它看起来像这样:
但我想要一对类似的垂直分布的密度曲线,显示 y 维度上的点的分布。我试过
stat_density(aes(y=dim2, x=0+(..scaled..))), position="identity", geom="line)
但收到错误“stat_密度需要以下缺失的美感:x”。
有任何想法吗?谢谢