我有一个矩阵mlinerror
,其中每列是从第1行开始到第5行结束的时间序列。
我想制作一个图形,其中有许多叠加的线条是alpha混合的,最好是每条线条都有不同的颜色。
这是我的代码:
plt <- ggplot(df)
for (i in 1:99) {
plt <- plt + geom_line(aes(x=1:5, y=mlinerror[,i]), alpha=0.1)
}
由于某些原因,我可以为每列手动复制plt <- plt + geom_line(aes(x=1:5, y=mlinerror[,i]), alpha=0.1)
行(它必须是99次)并且它会绘制所有行,但此合成不适用于我的循环方法。
如何制作多线图?
答案 0 :(得分:2)
如果将数据重新整形为长格式,则可以更轻松地执行此操作。这是假数据的一个例子:
library(reshape2)
# Create fake data with 100 time series columns plus a time variable
set.seed(30)
dat = data.frame(time=1:5, replicate(100,cumsum(rnorm(5))))
# Melt into long format
dat.m = melt(dat, id.var="time")
# Plot with each individual time series in a different colour
ggplot(dat.m, aes(time, value, colour=variable, group=variable)) +
geom_line(alpha=0.2, show_guide=FALSE)