gpt4 book ai didi

r - 在 ggplot 中绘制多个时间序列

转载 作者:行者123 更新时间:2023-12-02 02:51:26 27 4
gpt4 key购买 nike

我有一个由 10 个变量组成的时间序列数据集。

我想创建一个时间序列图,其中每个 10 个变量随着时间的推移以不同的颜色绘制在同一个图表上。值应位于 Y 轴上,日期应位于 X 轴上。

Click Here对于数据集 csv

这是我一直在使用的(可能是错误的)代码:

c.o<-read.csv(file="co.csv",head=TRUE)
ggplot(c.o, aes(Year, a, b, c, d, e,f))+geom_line()

代码的输出如下所示:

有人能指出我正确的方向吗?我在之前的帖子中找不到任何内容。

问题已解决,请参见下文。

我还想知道一件事:

是否可以在图中添加一条额外的线来表示随时间变化的所有变量的平均值,并在该线下方和上方进行一些平滑以表示个体变化?

最佳答案

如果您的数据名为 df ,如下所示:

library(ggplot2)
library(reshape2)
meltdf <- melt(df,id="Year")
ggplot(meltdf,aes(x=Year,y=value,colour=variable,group=variable)) + geom_line()

enter image description here

所以基本上在我的代码中,当我使用 aes() 时,我告诉它 x 轴是 Year,y 轴是 value > 然后颜色/分组变量决定。

melt() 函数用于以 ggplot2 想要的格式获取数据。一个大列表示年份等......然后,当您告诉它为您的变量按单独的行进行绘制时,您可以有效地将其拆分。

关于r - 在 ggplot 中绘制多个时间序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13324004/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com