不完全确定所需的输出是多少
例如像这样:
type1 %>% #need to remove infinte values ggplot(aes(x, y, group = type)) + geom_line(aes(color = 'type1')) + geom_line(data = type2, aes(x,y, color='type2')) + geom_line(data = type3, aes(x, y, color='type3'))
要么
type1 %>% #need to remove infinte values ggplot(aes(x, y, group = type)) + geom_line(aes(color = type), show.legend = TRUE) + geom_line(data = type2, aes(x,y, color='type2'), show.legend = TRUE) + geom_line(data = type3, aes(x, y, color='type3'), show.legend = TRUE)
还是完全不同的东西
好的,所以一个全新的答案:
这里是:
type1 %>% #need to remove infinte values ggplot(aes(x, y, group = type)) + geom_line(aes(colour = y), show.legend = TRUE) + scale_colour_gradientn(colors = c("red", "limegreen"), name = "Type1 value") + geom_line(data = type2, aes(x,y, fill = 'type2'), color = 'black') + geom_line(data = type3, aes(x, y, fill = 'type3'), color = 'blue') + scale_fill_manual("Types", values=c(1, 1), guide=guide_legend(override.aes = list(colour=c("black", "blue"))) )
这是一个令人烦恼的解决方法,但它可以完成这项工作
你基本上用 show.legend 得到第一个传奇,和 fill 强制第二个图例(所以忽略警告,因为显然没有任何东西可以填充一行),然后 guide_legend 允许您将颜色添加到图例中
show.legend
fill
guide_legend