【问题标题】:geom_line won't work w different groups and colorsgeom_line 不适用于不同的组和颜色
【发布时间】:2021-06-07 22:05:18
【问题描述】:

使用 ggplot2,我正在尝试制作一个有两个分组的图,一个是有机体,另一个是治疗。两种生物都有相同的治疗方法。

例如,我希望被入侵的真菌的线条连接到被入侵的真菌(以及所有其他配对点),但我似乎无法使其工作。这是我正在使用的代码。

ggplot(bnti.avg, aes(x=Season, y=Mean.BNTI, group=Treatment, color=Treatment, 
shape=Organism)) + 
  geom_errorbar(aes(ymin=Mean.BNTI-SD, ymax=Mean.BNTI+SD), width=.1) +
  geom_line() +
  geom_point(size = 8)

我曾尝试在 aes 中移动以仅在 geom_line 或 geom_point 中拥有一些部分,但我似乎无处可去。有什么建议吗?

【问题讨论】:

  • 欢迎来到 SO!为了帮助我们帮助您,您能否通过分享您的数据样本来重现您的问题?见how to make a minimal reproducible example。只需在控制台中输入dput(NAME_OF_DATASET) 并将以structure(.... 开头的输出复制并粘贴到您的帖子中。如果您的数据集有很多观察结果,您可以对前 20 行数据执行 dput(head(NAME_OF_DATASET, 20))

标签: r ggplot2


【解决方案1】:

group 变量必须是 TreatmentOrganism 的组合。没有您的实际数据,这里是伪代码。这在理论上应该有效。请检查,如果可能,请分享一个最小的可复制示例作为@stefan 评论

bnti.avg$grouping_var <- paste0(bnti.avg$Treatment, bnti.avg$Organism)

ggplot(bnti.avg, aes(x=Season, y=Mean.BNTI, group=grouping_var, color=Treatment, 
shape=Organism)) + 
  geom_errorbar(aes(ymin=Mean.BNTI-SD, ymax=Mean.BNTI+SD), width=.1) +
  geom_line() +
  geom_point(size = 8)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-10-16
    • 2021-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多