0
Принимая следующий простой пример. Я не могу заставить легенду правильно ассоциировать соответствующие цвета. Где я пошло не так:связанная легенда с geom_ribbon
time <- as.factor(c('A','B','C','D'))
x <- c(1.00,1.03,1.03,1.06)
x.upper <- c(0.91,0.92,0.95,0.90)
x.lower <- c(1.11,1.13,1.17,1.13)
df <- data.frame(time, x, x.upper, x.lower)
time <- as.factor(c('A','B','C','D'))
x2 <- c(1.15,1.08,1.01,1.15)
x.upper2 <- c(1.10,1.00,1.01,0.95)
x.lower2 <- c(1.20,1.27,1.05,1.45)
df2 <- data.frame(time, x2, x.upper2, x.lower2)
, а затем построить
ggplot()+
geom_point(data = df, aes(time,x)) +
geom_ribbon(data = df, aes(x=as.numeric(time), ymax=x.upper, ymin=x.lower), fill="T1", alpha=.5) +
geom_point(data = df2, aes(time,x2)) +
geom_ribbon(data = df2, aes(x=as.numeric(time), ymax=x.upper2, ymin=x.lower2), fill="T2", alpha=.5) +
scale_fill_manual("",
breaks = c("T1", "T2"),
values = c("pink", "blue"))
Или, если мы вместо того, чтобы использовать col
в aes
, цвета не правильно ассоциировать
ggplot()+
geom_point(data = df, aes(time,x)) +
geom_ribbon(data = df, aes(x=as.numeric(time), ymax=x.upper, ymin=x.lower, col="T1"), fill="pink", alpha=.5) +
geom_point(data = df2, aes(time,x2)) +
geom_ribbon(data = df2, aes(x=as.numeric(time), ymax=x.upper2, ymin=x.lower2, col="T2"), fill="blue", alpha=.5) +
scale_color_manual("",
breaks = c("T1", "T2"),
values = c("pink", "blue"))
Вы хотите, чтобы легенда работала с 'fill =', даже если вы оставили это из 'aes()'? Можете ли вы уточнить, что вы имеете в виду, когда говорите «цвета неправильно связаны». Что вы ожидаете от других? – MrFlick