我希望有人可以帮助解决我遇到的绘图问题。可以在here中找到数据。

基本上,我想绘制一条线(平均值)及其与我测试过的4个模型相关的置信区间(上下限)。我想谈谈Cat_Auth变量,该变量有4个类别(所以有4个图)。第一个“模型”实际上只是样本数据的平均值,我不希望为此使用CI(数据中指定的NA值-不确定这样做是否正确)。

我可以通过以下方式获得剧情:

newdata <- read.csv("data.csv", header=T)
ggplot(newdata, aes(x = Affil_Max, y = Mean)) +
  geom_line(data = newdata, aes(), colour = "blue") +
  geom_ribbon(data = newdata, alpha = .5, aes(ymin = Lower, ymax = Upper, group = Model, fill = Model)) +
  facet_grid(.~ Cat_Auth)

但是我想为每个模型使用不同的彩色线条和阴影色带(例如,模型2的红色均值线和红色阴影色带,模型3的绿色等)。另外,我无法弄清楚为什么与第一组平均值相对应的蓝线照旧不相交。

衷心感谢您的协助!

r - 如何在facet_grid中改变线条和色带的颜色-LMLPHP

最佳答案

试试这个:

library(dplyr)
library(ggplot2)

newdata %>%
  mutate(Model = as.factor(Model)) %>%
  ggplot(aes(Affil_Max, Mean)) +
    geom_line(aes(color = Model, group = Model)) +
    geom_ribbon(alpha = .5, aes(ymin = Lower, ymax = Upper,
                                group = Model, fill = Model)) +
    facet_grid(. ~ Cat_Auth)

09-30 16:58