Как построить несколько переменных на одном графике в ggplot в geom_line после плавления? - PullRequest
1 голос
/ 26 сентября 2019

У меня есть тиббл, где имена столбцов исходного df были заданы значениями в переменной col, которые я преобразовал в длинный формат, используя id.vars=Country, чтобы получить это, используя melt.Это позволяет отобразить различные значения AGR_LogLabProd, MIN_LogLabProd, MAN_LogLabProd по годам на одной оси X.

CHN4

Country  Year  variable  value
---------------------------

1      CHN 1958 AGR_LogLabProd 14.81782  
2      CHN 1959 AGR_LogLabProd 14.61870  
3      CHN 1960 AGR_LogLabProd 14.41969  
4      CHN 1961 AGR_LogLabProd 14.28257  
5      CHN 1958 MIN_LogLabProd 13.67850  
6      CHN 1959 MIN_LogLabProd 14.24685  
7      CHN 1960 MIN_LogLabProd 14.57734  
8      CHN 1961 MIN_LogLabProd 14.59046  
9      CHN 1958 MAN_LogLabProd 13.29359  
10     CHN 1959 MAN_LogLabProd 13.86194  
11     CHN 1960 MAN_LogLabProd 14.19243  
12     CHN 1961 MAN_LogLabProd 14.20556

Я использую ggplot(CHN4, aes(x=Year, y=value))+geom_line(), но это дает мне странный график (приведенный на прилагаемом изображении) enter image description here, а не отдельные строки для каждой переменной в столбце переменных, как ожидалось.Любой ключ к тому, что идет не так?

1 Ответ

4 голосов
/ 26 сентября 2019

Это довольно распространенная проблема.Вам необходимо включить переменную группировки.Если вы хотите использовать цвет для каждого другого уровня, вы должны использовать

library(ggplot2)
ggplot(CHN4, aes(x=Year, y=value, color = variable)) + 
  geom_line()

, но если вам нет дела до цветов, вы можете сделать

library(ggplot2)
ggplot(CHN4, aes(x=Year, y=value, group = variable)) + 
  geom_line()

enter image description here

...