【发布时间】:2019-07-19 11:18:13
【问题描述】:
【问题讨论】:
标签: r ggplot2 scatter-plot
【问题讨论】:
标签: r ggplot2 scatter-plot
看起来是这样的:
ggplot(full_data, aes(y = total_consumption_lbs, x = milk_production_lbs)) +
geom_xspline2(aes(s_open = TRUE, s_shape = 0.5))
geom_xspline2() 来自library(ggalt)
但别问我,这是他的源代码:
https://github.com/jkaupp/tidytuesdays/blob/master/2019/week5/R/analysis.R
【讨论】:
这种方法看起来不像你的例子那么好,但它是一个开始,一些小技巧可能会让你走完剩下的路。
首先,需要处理的一些数据:
x <- seq(1:20)
y <- jitter(x,amount=1.5)
df <- data.frame(x,y)
使用ggplot2 的方法是绘制一个跨度非常小的geom_smooth(如您所见,小到足以导致很多错误),然后在其顶部绘制带有白色边框的点。
ggplot(df, aes(x,y)) +
geom_smooth(se=F, colour="black", span=0.15) +
geom_point(fill="black", colour="white", shape=21, size=2.5) +
theme_minimal()
缺点:正如我上面提到的,你会看到很多关于黄土拟合中奇点的错误,因为跨度太小了。其次,您会注意到并非所有点都以直线为中心,这是有道理的,因为您使用的是黄土拟合直线。最后,似乎没有办法改变点周围线条的宽度,所以你最终会得到一个很细的白色边框。
【讨论】: