How to show abline of geom_abline in legend

前端 未结 1 615
南旧
南旧 2020-12-21 17:41

in the following sample data , how can i display the abline ( i e the red color line) in legend with y. my code and data:

x<-c(1990,1991,1992,1993,1994,1         


        
相关标签:
1条回答
  • 2020-12-21 18:12

    You can use the show_guide=TRUE argument:

    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")
    

    You'll probably need to change the labels in the legend, but you should be able to do that with theme.

    Edit: To remove the slash from the legend, you can use guides and override.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)))
    
    0 讨论(0)
提交回复
热议问题