【发布时间】:2017-07-05 12:35:31
【问题描述】:
我有一个数据框,它有 12 列(一年中的每个月一列)和一个 id。此数据框中的每条记录对应于客户在过去 12 个月中进行的交易金额(以美元为单位)。我想将这些列绘制为系列。而且我还想在数据框中绘制所有客户。 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()
任何想法如何做到这一点?
【问题讨论】:
-
您的示例数据集中有 1000 个
id。用颜色来可视化 1000 条线是不可能的。您可以尝试将您的aes调用更改为aes(x=variable, y=value, colour =id, group = id)),但无法解释此类图。 -
正如@ycw 所说,绘制该图不会有任何好处,但如果您想使用base-R:
matplot(t(df), type = "l")。