假设我们有以下代码:
data %>%
ggplot(aes(x = Var1, y = Var2))+
geom_jitter()+
geom_smooth(method = "lm", alpha = .5, color = "blue", fill = "cornflowerblue")
这段代码产生了这张图片:
我真的不喜欢回归线不会超出0和1,因为它会使图形看起来在视觉上非常不愉快。
我尝试将fullrange = T
添加到geom_smooth
,但是没有任何结果;我的理由是,这是因为没有超过0和1的实际数据点-它们只是抖动。因此,我想应用抖动,但是我想将值为0的点仅向右抖动,而将值为1的点仅向左抖动。
以前,我尝试添加以下内容:
+scale_x_continuous(limits = c(0, 1))
但是随后一些数据点被切断:
为避免这种情况,我尝试了以下解决方案:
+scale_x_continuous(limits = c(0, 1), oob = scales::squish)
但是它会产生一个图,其中数据再次被过度绘制:
在您问之前:是的,Var1是一个因子变量,而我将其视为数字并使用连续刻度。这是因为如果我将其作为一个因素,则回归线根本不会出现在绘图中,而只会显示散点。我已经尝试使用this question的答案所建议的代码,但是它没有用,我得到的只是一个散点图,没有回归线。
由于是机密信息,因此无法共享数据。
谢谢您的理解,希望有人可以帮助我!