r - 使用线条和多因子连接 ggplot 箱线图

标签 r plot ggplot2 data-visualization boxplot

我正在尝试将 ggplot2 箱线图与 geom_lines 连接起来以获取多个因素。到目前为止,我已经能够将所有箱线图与线条连接起来,请参见附图。但我希望通过相应的因素连接唯一的箱线图。

enter image description here

例如对于我的变量 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))

enter image description here

关于r - 使用线条和多因子连接 ggplot 箱线图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36240695/

相关文章:

r - 将泊松二项式分布拟合到数据

r - R中计算大矩阵逆的最快方法

r - 使用 gganimate 动画 geom_bar 的问题

performance - R 包 nlt/adlift/ebayesthresh 使用大量内存;如何提高性能?

r - 哪个函数可以标识R变量的封闭环境的名称?

python - 在Python中绘制3D曲面

Python 不允许我在使用子图时更改轴刻度数

python - 3D matplotlib 图中 y 轴和 z 轴的交换位置

R ggplot2 用 2 个 hlines 和正确的图例绘制单个数据

r - 分类变量的自定义彩色热图