ggplot2 +散点图+ geom_path

时间:2019-02-26 00:04:34

标签: r ggplot2 scatter-plot

您知道如何获得杰克·考普(Jake Kaupp)在他的情节上达到的弯曲效果吗?

enter image description here

2 个答案:

答案 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()

enter image description here

缺点:如上所述,由于跨度很小,您会看到许多有关黄土奇异性的错误。其次,您会注意到并不是所有的点都在直线上居中,这是有道理的,因为您使用的是黄土线。最后,似乎没有一种方法可以更改这些点周围的线宽,因此最终会得到很细的白色边框。