Как построить две пунктирные линии регрессии с помощью GGPlot - PullRequest
1 голос
/ 12 ноября 2019

В настоящее время я пытаюсь изобразить две пунктирные линии, используя функцию ggplot. На графике показаны две линии регрессии, принадлежащие двум разным группам факторов. Мне удалось сделать одну из линий пунктирной, но у меня возникли проблемы с тем, чтобы на другой линии были тире. Любая помощь будет принята с благодарностью.

coli_means  %>% 
  ggplot(aes(time, mean_heartrate, group = treatment)) + 
  geom_point( aes(group = treatment, color = treatment)) + 
  geom_smooth(aes(method = "loess", linetype = treatment, se = FALSE, 
                  group = treatment, color = treatment, show.legend = TRUE))

Мне не хватает одного простого ввода. Спасибо.

1 Ответ

0 голосов
/ 14 ноября 2019

Что вам нужно сделать, это использовать scale_linetype_manual(), а затем сказать, что обеим группам лечения требуется пунктирная линия.

Давайте начнем с воспроизводимого примера:

# reproducible example:
set.seed(0)
time <- rep(1:100,2)
treatment <- c(rep("A",100), rep("B",100))
mean_heartrate <- c(rnorm(100,60,2), rnorm(100,80,2))

coli_means <- data.frame(time, treatment, mean_heartrate)

# ggplot
coli_means  %>% 
  ggplot(aes(x = time, y = mean_heartrate)) + 
  geom_point(aes(color = treatment)) + 
  geom_smooth(aes(linetype = treatment, color = treatment))+
  scale_linetype_manual(values = c('dashed','dashed'))

[Dashed lines for both treatments

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