我有一个由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()
Run Code Online (Sandbox Code Playgroud)
以下是代码的输出结果:
谁能指出我正确的方向?我以前的帖子里找不到任何东西.
问题已解决,见下文.
还有一件事我想知道:
是否有可能在图中添加一条额外的线来表示所有变量在时间上的平均值,并在该线下方和上方进行一些平滑以表示各个变化?
use*_*1_G 40
如果您的数据被调用df
如下:
library(ggplot2)
library(reshape2)
meltdf <- melt(df,id="Year")
ggplot(meltdf,aes(x=Year,y=value,colour=variable,group=variable)) + geom_line()
Run Code Online (Sandbox Code Playgroud)
所以基本上在我的代码中,当我使用aes()
im告诉它x轴是Year
,y轴是value
然后colour
/ grouping
是由variable
.
该melt()
功能是以您ggplot2
希望的格式获取您的数据.一个大的专栏year
等等,当你告诉它用你的单独的线条绘制时,你会有效地分裂variable
.