ggplot2 legend for abline and stat_smooth

前端 未结 3 796
生来不讨喜
生来不讨喜 2021-01-13 13:32

I have some problems with ggplot legends, here is my first code with only the legend for corrGenes, which is fine.

gene1=c(1.041,0.699,0.602,0.602,2.585,0.60         


        
3条回答
  •  暗喜
    暗喜 (楼主)
    2021-01-13 14:12

    Finally, I found anther way using a trick. First, I've computed the linear regression and convert the results to a data frame which I add my best fit (Intercept = 0 and slope =1), then I added a column for type of data (data or best).

    modele = lm(BIME ~ gene1, data=DF)
    coefs = data.frame(intercept=coef(modele)[1],slope=coef(modele)[2])
    coefs= rbind(coefs,list(0,1))
    regression=as.factor(c('data','best'))
    coefs=cbind(coefs,regression)
    

    then I plotted it with a unique geom_abline command and moving the DF from ggplot() to geom_point() and used the linetype parameter to differenciate the two lines :

    plot = ggplot()+
      geom_point(data=pointSameStrandDF,aes(x=gene1,y=BIME,colour=corrGenes),size=5)+
      geom_abline(data=coefs, aes(intercept=intercept,slope=slope,linetype=regression), show_guide=TRUE)+
      ylab("BIME normalized counts (log10(RPKM))")+
      xlab("gene1 normalized counts (log10(RPKM))")
    

    There is maybe a way to use colors for those 2 lines, but I can't find out how?

    Thanks for your help guys!

提交回复
热议问题