r - 如何在图例中显示geom_abline的abline

标签 r ggplot2 legend

在下面的示例数据中,如何用 y 在图例中显示 abline(即红色线)。 我的代码和数据:

x<-c(1990,1991,1992,1993,1994,1995)
y<-c(400,500,465,450,550,555)

df<-data.frame(x,y)
df
plot1<- ggplot(df, aes(x)) +
        geom_line(size=0.5,lty="dashed", aes(y=y),color="Blue") +
        geom_abline(aes(slope=-0.62,intercept=1670,colour="break"),size=0.9)+
        geom_point(aes(y=y,shape="y"),size=4, color="Gray24",fill="Green")
plot1

。 我得到的是下面的enter image description here图像。我需要在图例中显示红线

最佳答案

您可以使用show_guide=TRUE参数:

plot1<- ggplot(df, aes(x)) +
  geom_line(size=0.5,lty="dashed", aes(y=y),color="Blue") +
  geom_abline(aes(slope=-0.62,intercept=1670,colour="break"), size=0.9,show_guide = TRUE)+
  geom_point(aes(y=y,shape="y"),size=4, color="Gray24",fill="Green")

您可能需要更改图例中的标签,但您应该能够使用主题来做到这一点。

编辑:要从图例中删除斜杠,您可以使用guidesoverride.aes:

plot1 <- ggplot(df, aes(x, y)) +
  geom_point(aes(shape = "y"), size = 4, color = "Gray24", lty = 0) +
  geom_line(size = 0.5, lty = "dashed", color = "Blue") +
  geom_abline(aes(slope = -0.62, intercept = 1670, colour = "break"), size = 0.9, 
               show_guide = TRUE) +
  guides(shape = guide_legend(override.aes = list(linetype = 0)))

关于r - 如何在图例中显示geom_abline的abline,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24812629/

相关文章:

r - 初始稀疏矩阵不会将新的零值变成稀疏矩阵

r - 如何平滑ggplot中的曲线线图?

r - 具有箱线图类型分组的点范围图

r - 从多面 Canvas 上分离 `facet_grid` 条?

matlab - 如何减小图中图例的大小?

colors - 显示对应于行颜色的seaborn clustermap的图例

r - 过滤至少有两个模式匹配的地方

c++ - RcppParallel没有匹配的函数来调用 'transform'

r - ggplot2 增加堆叠文本标签之间的间距

r - 使用 ggplot 在图例中包含所有图层