我真的很喜欢 ggplot2 2.0 改进外观的方式,但怀疑升级改变了颜色和图例的定义方式。如何更新 ggplot 2.0 的代码?
第一个 abline 应该是黑色的(现在仍然是)。不应该在传说中。
ablines“Line1”、“Line2”和“Line3”应该有不同的颜色,并且在图例中。他们现在都是黑色的。
图例应该可见,但现在不可见。
library(ggplot2)
plot.data <- data.frame(x=c(2, 8), y=c(3, 6))
p <- ggplot(plot.data, aes(x=x, y=y))
p <- p + geom_point(color="black")
p <- p + geom_abline(intercept=0, slope=0.5, color="black", linetype="dashed")
#p <- p + geom_abline(intercept=0, slope=1, aes(color="Line1"), linetype="dashed", show_guide=TRUE)
p <- p + geom_abline(intercept=0, slope=1, aes(color="Line1"), linetype="dashed", show.legend=TRUE)
p <- p + geom_abline(intercept=0, slope=2, aes(color="Line2"), linetype="dashed")
p <- p + geom_abline(intercept=0, slope=3, aes(color="Line3"), linetype="dashed")
p <- p + xlim(0,10)
p <- p + ylim(0,10)
p <- p + theme(legend.title=element_blank(), legend.position="bottom")
p
使用原始代码(在上面的示例中使用 #),我收到一条警告消息“show_guide
已被弃用。请改用 show.legend
”,但更改上面的 show_guide 到 show.legend 没有区别。
注意:我不是 100% 确定问题出在升级上,可能是我原来的示例有误。
最佳答案
我只是在这里重新发布我的评论作为回答。
要使图例重新出现,截距和斜率也必须在 aes() 调用中。
p + geom_abline(aes(intercept=0, slope=1, color="Line1"), linetype="dashed", show.legend=TRUE)
关于r - ggplot 升级后颜色和图例丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34601837/