Линейный график проблем - сюжет выглядит «забавно» (ggplot2) - PullRequest
0 голосов
/ 08 октября 2018

У меня большой фрейм данных (CO2_df) со многими годами для многих стран, и я попытался построить график с ggplot2.Этот график будет иметь 6 кривых + совокупная кривая.Однако мой график выглядит довольно «забавно», и я понятия не имею, почему.

Данные выглядят так (отрывок):

       x     y          x1      x2      x4   x6
1553   1993  0.00000    CO2     Austria  6   6 - Other Sector
1554   2006  0.00000    CO2     Austria  6   6 - Other Sector
1555   2015  0.00000    CO2     Austria  6   6 - Other Sector
2243   1998  12.07760   CO2     Austria  5   5 - Waste management
2400   1992  11.12720   CO2     Austria  5   5 - Waste management
2401   1995  11.11040   CO2     Austria  5   5 - Waste management
2402   2006  10.26000   CO2     Austria  5   5 - Waste management
2489   1998  0.00000    CO2     Austria  6   6 - Other Sector

Я использовал этот код:

ggplot(data=CO2_df, aes(x=x, y=y, group=x6, colour=x6)) +
  geom_line() +
  geom_point() +
  ggtitle("Austria") +
  xlab("Year") +
  ylab("C02 Emissions") +
  labs(colour = "Sectors")
scale_color_brewer(palette="Dark2")  

CO2_df %>%
  group_by(x) %>%
  mutate(sum.y = sum(y)) %>%
  ggplot(aes(x=x, y=y, group=x6, colour=x6)) +
  geom_line() +
  geom_point() +
  ggtitle("Austria") +
  xlab("Year") +
  ylab("C02 Emissions") +
  labs(colour = "Sectors")+
  scale_color_brewer(palette="Dark2")+
  geom_line(aes(y = sum.y), color = "black") 

Мои вопросы

1) Почему это выглядит и как я могу решить это?2) Я понятия не имею, почему значение на оси у близко к нулю.Они не ... 3) Как я могу добавить запись в легенду для сводной строки?

this

Спасибо за любую помощь!

Nordsee

1 Ответ

0 голосов
/ 08 октября 2018

Что-то вроде этого:

  CO2_df %>%                            # data                 
  group_by(x,x6) %>%                    # group by
  summarise(y = sum(y)) %>%             # add the sum per group
  ggplot(aes(x=x, y=y)) +               # plot
  geom_line(aes(group=x6, fill=x6, color=x6))+
  # here you can put a summary line, like sum, or mean, and so on
  stat_summary(fun.y = sum, na.rm = TRUE, color = 'black', geom ='line') +
  geom_point() +
  ggtitle("Austria") +
  xlab("Year") +
  ylab("C02 Emissions") +
  labs(colour = "Sectors")+
  scale_color_brewer(palette="Dark2"))

enter image description here

С измененными данными, чтобы увидеть правильное поведение, я поставил те же годы иочень разные значения, чтобы понять:

   CO2_df <- read.table(text ="
x     y          x1      x2      x4   x6
1553   1993  20    CO2     'Austria'  6   '6 - Other Sector'
1554   1994  23    CO2     'Austria'  6   '6 - Other Sector'
1555   1995  43    CO2     'Austria'  6   '6 - Other Sector'
2243   1993  12.07760   CO2     'Austria'  5   '5 - Waste management'
2400   1994  11.12720   CO2     'Austria'  5   '5 - Waste management'
2401   1995  11.11040   CO2     'Austria'  5   '5 - Waste management'
2402   1996  10.26000   CO2     'Austria'  5   '5 - Waste management'
2489   1996  50    CO2     'Austria'  6   '6 - Other Sector'", header = T)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...