Adding stat_smooth in to only 1 facet in ggplot2

后端 未结 2 1412
名媛妹妹
名媛妹妹 2021-02-07 05:35

I have some data for which, at one level of a factor, there is a significant correlation. At the other level, there is none. Plotting these side-by-side is simple. Adding a l

相关标签:
2条回答
  • 2021-02-07 05:58

    Of course, I later answered my own question. Although, is there a less hack-y way to do this? I wonder if one could even fit different functions to different panels.

    One technique is to use + scale_fill_manual and scale_colour_manual. They allow one to specify what colors will be used. So, in this case, let's say you have

    a<-qplot(x, y, facets=~z)+stat_smooth(method="lm", aes(colour=z, fill=z))
    

    You can specify colors for the fill and colour using the following. Note, the second color is clear, as it is using a hex value with the final two numbers representing transparency. So, 00=clear.

    a+stat_fill_manual(values=c("grey", "#11111100"))+scale_colour_manual(values=c("blue", "#11111100"))
    
    0 讨论(0)
  • 2021-02-07 06:03

    Don't think about picking a facet, think supplying a subset of your data to stat_smooth:

    ggplot(df, aes(x, y)) +
      geom_point() + 
      geom_smooth(data = subset(df, z =="a")) + 
      facet_wrap(~ z)
    
    0 讨论(0)
提交回复
热议问题