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

问题描述 投票:1回答:1

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

r ggplot2 melt
1个回答
4
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.