我有1000周的每周行为路径(从1-52周开始)。
我希望从视觉上探索数据。
显然,如果我只绘制它看起来像是一个巨大的混乱 - 我想知道是否有一种简洁的方法来动画图表,这样就可以说它循环通过100个左右的帐户并逐个构建图表当我们移动到下一行时,每条新线都会获得明显的颜色然后变暗。基本上向某人展示了非常凌乱的图表。
以下是一些产生下面噪音图表的示例代码。
#####
library(ggplot2)
for (i in 1:100){
mydf <- cbind(seq(1:52),paste('record_',i,sep=''),data.frame(rnorm(n=52, mean=10, sd=1)))
names(mydf) <- c('week_number','record_id','spend')
if (i==1) {
mydfFull<-mydf
} else {
mydfFull <- rbind(mydf,mydfFull)
}
}
# plot the sample
ggplot(data=mydfFull, aes(x=week_number, y=spend, group=record_id, colour=record_id)) + geom_line() + theme(legend.position="none")
#####
我想我希望逐行动画制作此图表的动画。
我发现有一个动画包,我也认为GoogleVis很有用。
任何有关什么是好方法的经验或建议?
答案 0 :(得分:1)
动画包背后的一般思路可以在本例(编辑)
中进行说明library(animation)
ani.options(interval=1.5,outdir=getwd())
cols <- rainbow(100)
saveHTML({
for (i in 1:100){
mydf <- cbind(seq(1:52),paste('record_',i,sep=''),data.frame(rnorm(n=52, mean=10, sd=1)))
names(mydf) <- c('week_number','record_id','spend')
if (i==1) {
mydfFull<-mydf
plot(mydf$week_number,mydf$spend,col=cols[1],type="l",main="",xaxt="n",ylab="",yaxt="n")
}else{
mydfFull <- rbind(mydf,mydfFull)
plot(mydf$week_number,mydf$spend,col=cols[1],type="l",main="",xaxt="n",ylab="",yaxt="n")
k <- 1;
tapply(mydfFull$spend,factor(mydfFull$record_id),FUN=function(y) {lines(x=mydf$week_number,y=y,col=cols[k]); k<<-k+1 })
}
}
},img.name = "anim", title = "anim")
查看animation
包以获取详细信息,以便调整代码以满足您的要求。