ggplot升级后丢失的颜色和图例

时间:2016-01-04 23:38:23

标签: r plot ggplot2 legend

我非常喜欢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

使用原始代码(在上面的示例中使用#),我收到一条警告消息&#34; show_guide已被弃用。请使用show.legend代替`&#34;,但将show_guide更改为show.legend上面没有任何区别。

注意:我不是100%确定升级是问题,可能是我原来的例子是错误的。

1 个答案:

答案 0 :(得分:4)

我只是在这里重新发表评论作为答案。

要使图例重新出现,拦截和斜率也必须在aes()调用中。

p + geom_abline(aes(intercept=0, slope=1, color="Line1"), linetype="dashed", show.legend=TRUE)