ggplot2 + scatterplot + geom_path - PullRequest
       17

ggplot2 + scatterplot + geom_path

0 голосов
/ 26 февраля 2019

Знаете ли вы, как получить изогнутый эффект, который Джейк Каупп достигает на своем сюжете?

enter image description here

Ответы [ 2 ]

0 голосов
/ 26 февраля 2019

Похоже, что-то вроде:

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

0 голосов
/ 26 февраля 2019

Этот подход не выглядит так же хорошо, как ваш пример, но это начало, и некоторая путаница может дать вам остальную часть пути.

Во-первых, некоторые данные для работы:

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

Недостатки: Как я уже отмечал выше, вы увидите много ошибок об особенностях вЛесс подходит, потому что пролет такой маленький.Во-вторых, вы заметите, что не все точки центрированы на линии, что имеет смысл, поскольку вы используете лессовую посадку для линии.Наконец, кажется, что нет способа изменить ширину линии вокруг точек, поэтому вы получите довольно тонкую белую рамку.

...