r - ggplot 升级后颜色和图例丢失

标签 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

使用原始代码(在上面的示例中使用 #),我收到一条警告消息“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/

相关文章:

r - 如何做一个荒谬的情节

python - 如何使用 Chaco 叠加两个图像?

r - 并行 plyr 中的奇怪环境行为

css - 如何在 R Markdown 中为纯文本代码栅栏获取灰色背景?

r - 在 R 中使用线性插值添加缺失的 xts/zoo 数据

r - 在 Windows 10 上的 R 中使用谷歌字体

r - 使用 Plotly 和 R 的悬停模式

R - 神经网络 - 传统的反向传播看起来很奇怪

r - R 中背景中的 hist3D 2D 图

r - 在 ggplot2 中引导(因子水平的)比例