построить различные столбцы в одном графике R - PullRequest
0 голосов
/ 14 марта 2019

Мои данные для примера:

structure(list(year = c(2018, 2018, 2018, 2018, 2019, 2019), 
    month = c(9, 10, 11, 12, 1, 2), pred1 = c(-6.63356483810535, 
    -6.50968293287978, -1.54767782423655, -1.47812226859267, 
    -1.36788275407234, -1.28168637109063), pred2 = c(-1.42361872090391, 
    -1.3982815502715, -1.1409241475472, -1.1331066959139, -1.12562914109629, 
    -1.11814749991547)), row.names = c(NA, -6L), class = c("tbl_df", 
"tbl", "data.frame"))

Я хотел бы иметь месяц по оси x и год по оси y, нарисовать линейный график для pred1 и pred2 и сравнить графически. Я ценю помощь в выполнении R

1 Ответ

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

Вот как я понимаю ваш вопрос о желании года на оси y - я поместил его в вертикальные грани с линейным графиком в каждом фасете с месяцем на x и значением на y.Пожалуйста, уточните свой первоначальный вопрос, если это не то, что вы пытаетесь сделать.

ggplot(df1, aes(month)) +
  geom_line(aes(y = pred1), color = "blue") +
  geom_line(aes(y = pred2), color = "red") +
  facet_grid(year~.)

enter image description here

Если вы хотите, чтобы легенда отличала дваДля серии будет проще преобразовать данные в длинный формат, чтобы имя серии представляло собой переменную, которая может быть сопоставлена ​​с эстетическим, например, цветом.

library(dplyr)
df1 %>%
  tidyr::gather(series, value, pred1:pred2) %>%
  ggplot(aes(month, value, color = series)) +
  geom_line() +
  facet_grid(year~.)

enter image description here

...