我有一个由 10 个变量组成的时间序列数据集。
我想创建一个时间序列图,其中每个 10 个变量随着时间的推移以不同的颜色绘制在同一个图表上。值应位于 Y 轴上,日期应位于 X 轴上。
点击这里对于数据集 csv
这是我一直在使用的(可能是错误的)代码:
c.o<-read.csv(file="co.csv",head=TRUE)
ggplot(c.o, aes(Year, a, b, c, d, e,f))+geom_line()
and here's what the output from the code looks like:
有人能指出我正确的方向吗?我在之前的帖子中找不到任何内容。
问题已解决,见下文。
我还想知道一件事:
是否可以在图中添加一条额外的线来表示随时间变化的所有变量的平均值,并在该线下方和上方进行一些平滑以表示个体变化?
如果你的数据被称为df
像这样的东西:
library(ggplot2)
library(reshape2)
meltdf <- melt(df,id="Year")
ggplot(meltdf,aes(x=Year,y=value,colour=variable,group=variable)) + geom_line()
所以基本上当我使用时在我的代码中aes()
我告诉它 x 轴是Year
,y 轴是value
然后是colour
/grouping
是由variable
.
The melt()
功能是获取以下格式的数据ggplot2
想。一大专栏year
等...然后,当您告诉它为您的数据按单独的线绘制时,您可以有效地将其拆分variable
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)