我的数据框有12列(一年中每个月一列)和一个id。此数据框中的每条记录对应于客户在过去十二个月中所做的交易金额(以美元计)。我想将这些列绘制为系列。我还想在数据框中绘制所有客户。 x轴将是月份指数,y轴将是美元值。因此,基本上对于每个客户,我需要在同一图表上的线或系列图表。
生成随机数据的代码
a <- data.frame(id = seq(1,1000,1))
b <- data.frame(replicate(12,sample(1000:100000,1000,rep=TRUE)))
df <- cbind(a,b)
这是我尝试的但不是我想要的
library(reshape2)
library(ggplot2)
df_lg <- melt(df, id = 'id') # convert from wide to tall
ggplot(data=df_lg,
aes(x=variable, y=value, colour=variable)) +
geom_line()
任何想法如何做到这一点?
答案 0 :(得分:1)
只需将group
添加到您的美学中,因此colour
和group
应该是图例中您想要的id
变量。
ggplot(data=df_lg,
aes(x=variable, y=value, colour=id, group = id)) +
geom_line()