答案 0 :(得分:2)
看起来像是以下东西:
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
答案 1 :(得分:1)
这种方法看起来并不像您的示例那样好,但这只是一个开始,有些麻烦可能会让您步入正轨。
首先,要使用一些数据:
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()
缺点:如上所述,由于跨度很小,您会看到许多有关黄土奇异性的错误。其次,您会注意到并不是所有的点都在直线上居中,这是有道理的,因为您使用的是黄土线。最后,似乎没有一种方法可以更改这些点周围的线宽,因此最终会得到很细的白色边框。