我正在尝试将 ggplot2 箱线图与 geom_lines 连接起来以获取多个因素。到目前为止,我已经能够将所有箱线图与线条连接起来,请参见附图。但我希望通过相应的因素连接唯一的箱线图。
例如对于我的变量 FL,我只想连接这两个箱线图,而不将它们与其余变量连接。同样,对于变量 RW,将这两个性别箱线图连接起来,而没有其他其他箱线图。
library("MASS")
data(crabs)
melt_crabs <- melt(crabs,id.var=c("sp","sex","index"))
ggplot(melt_crabs, aes(x = variable, y = value)) + geom_line(aes(group = index), size = 0.05, alpha = 0.7) + geom_boxplot(aes(fill = sp), alpha = 0.5) + facet_grid(sex~.)
有谁知道如何实现这一目标?我希望我能以最清楚的方式解释自己。
非常感谢和最良好的祝愿,
最佳答案
我不知道如何在您制作的情节中准确连接这些点。但我可以告诉你如何做类似的事情。
困难在于属于一对箱线图的所有点共享相同的 x 坐标(即 variable
的相同值)。因此我使用了interaction(sex, variable)
作为 x 坐标,这样每个箱线图都有自己的 x 值。然而,这意味着成对的箱线图不太明显。另一方面,连接线在另一个方向工作。
为了绘制线条,它们按 interaction(index, variable)
分组。 ,这意味着数据点是连接的,当它们共享相同的 index
值时和 variable
.
废话不多说,代码如下:
ggplot(melt_crabs, aes(x = interaction(sex, variable), y = value)) +
geom_boxplot(aes(fill = sex), alpha = 0.5) +
geom_line(aes(group = interaction(index, variable)),
alpha = 0.5, colour = "darkgrey") +
facet_grid(sp~.) +
scale_x_discrete(labels = rep(levels(melt_crabs$variable), each = 2))
关于r - 使用线条和多因子连接 ggplot 箱线图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36240695/