R: ggplot и использование цветов для заполнения пробелов - PullRequest
0 голосов
/ 03 марта 2019

У меня есть данные временного ряда с пробелами.Я использовал несколько пакетов вменения, чтобы заполнить пробелы.

Через ggplot я сгенерировал оба графика.Я хотел бы использовать другой цвет для измененного участка графика для лучшей визуализации.

Исходный график с пробелами

ggplot(data = df_final, mapping = aes(x = day_of_year, y = bookings)) +
  geom_line()

enter image description here

График с заполненными пробелами

ggplot(data = df_result, mapping = aes(x = day_of_year, y = bookings_imputed)) +
  geom_line()

enter image description here

df_final & df_result - это кадры данных, используемые для исходных и заполненных пробелов участков соответственно.

Ответы [ 2 ]

0 голосов
/ 03 марта 2019

Вы можете попробовать что-то вроде этого:

require(tidyverse)

df %>% 
  mutate(imputedValues = imputeTS::na.random(values), 
         type = ifelse(is.na(values) == TRUE, "impute", "real")) %>% 
  gather(var, val, -time, -type) %>%
  ggplot(aes(time, val, group = var, color = var)) + 
  geom_line()

Вывод: enter image description here

Пример данных:

df <- data.frame(time = 1:10, 
                 values = rep(c(1, 2, 3, NA, 5), 2))
0 голосов
/ 03 марта 2019

Быстрее всего будет сначала нарисовать вмененную линию, а затем оригинальную на том же графике другим цветом.

ggplot() +
  geom_line(data = df_result, 
            mapping = aes(x = day_of_year, y = bookings_imputed),
            color = 'red')
  geom_line(data = df_final,
            mapping = aes(x = day_of_year, y = bookings),
            color = 'black')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...