5

目前我的回归图看起来像这样。请注意,回归线被深深地掩埋了。

有什么办法可以在这里修改我的代码,将其显示在点的顶部吗?我知道我可以增加尺寸,但它仍然在点的下方。

p <- ggplot(data=my_df, aes(x=x,y=y),) +
     xlab("x") +
     ylab("y")+
     geom_smooth(method="lm",se=FALSE,color="red",formula=y~x,size=1.5) +
     geom_point()
p

在此处输入图像描述

4

3 回答 3

12

只需更改顺序:

p <- ggplot(data=my_df, aes(x=x,y=y),) +
     xlab("x") +
     ylab("y")+
     geom_point() +
     geom_smooth(method="lm",se=FALSE,color="red",formula=y~x,size=1.5)
p
于 2013-03-05T01:58:33.630 回答
5

问题不在于颜色,而在于几何图形的顺序。如果您先打电话geom_point()那么 geom_smooth() 后者将在前者之上。

绘制以下内容以进行比较:

Before <- 
  ggplot(data=my_df, aes(x=x,y=y),) +
     xlab("x") +
     ylab("y")+
     geom_smooth(method="lm",se=FALSE,color="red",formula=y~x,size=1.5) +
     geom_point()

After <- 
  ggplot(data=my_df, aes(x=x,y=y),) +
     xlab("x") +
     ylab("y")+
     geom_point() + 
     geom_smooth(method="lm",se=FALSE,color="red",formula=y~x,size=1.5)

点之后绘制的线

在点之前绘制的线

于 2013-03-05T02:20:51.820 回答
2

透明点怎么样?

library(ggplot2)
seed=616
x1<- sort(runif(rnorm(1000)))
seed=626
x2<- rnorm(1000)*0.02+sort(runif(rnorm(1000)))
my_df<- data.frame(x= x1, y = x2)
p <- ggplot(data=my_df, aes(x=x,y=y),) +
  xlab("x") +
  ylab("y")+ 
  geom_smooth(method="lm",se=FALSE,color="red",formula=y~x,size=1.5)+
  geom_point(size = I(2), alpha = I(0.1))
p 

透明的绘图点

于 2013-03-05T02:23:10.313 回答