融化后如何在 geom_line 中的 ggplot 中的同一图上绘制多个变量?

How to plot multiple variables on the same plot in ggplot in geom_line after melting?

我有一个小问题,其中原始 df 的列名由变量 col 中的值给出,我使用 id.vars=Country 将其融入长格式,然后使用 melt 获得它。这是在同一个 x 轴上按年份绘制 AGR_LogLabProd、MIN_LogLabProd、MAN_LogLabProd 的不同值。

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()但是它给了我一个奇怪的图(在附图中给出),而不是像预期的那样为变量列中的每个变量单独的行。有什么问题的线索吗?

这是一个很常见的问题。您需要包括一个分组变量。如果你想为每个不同的级别使用颜色,你可以使用

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()