Как мне сделать график ggplot с разными значениями x с разным джиттером? - PullRequest
0 голосов
/ 09 февраля 2019

Если я хочу создать дрожание точек, но моя ось x имеет неравные интервалы, как это:

library(ggplot2)
ggplot(ToothGrowth, aes(x=dose, y=len)) + geom_point()

enter image description here

как я могу изменять ширинуджиттера при разных значениях оси x, поэтому я не получаю перекрытие как это?

ggplot(ToothGrowth, aes(x=dose, y=len)) + geom_jitter(width = 0.3,size = 4)

enter image description here

Я хочу, например, способчтобы сделать джиттер суженным на 0,5, шире на 1 и самым широким на 2.

1 Ответ

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

Грязным способом может быть дрожание дозы перед построением графика:

JitterSize <- rep(c(1.5, 3, 6), table(ToothGrowth$dose))
ToothGrowth $ Jitter <- jitter(ToothGrowth $ dose, JitterSize)
ggplot(data = ToothGrowth, 
       aes(x = Jitter, y=len, color = as.character(dose))) + 
geom_point(size = 4)

Обновлено на основе комментариев Абруха.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...