【问题标题】:Manipulate Chart Select Multiple Time-Series操纵图表选择多个时间序列
【发布时间】:2016-07-08 21:04:34
【问题描述】:

我创建了下面的图,以便我可以轻松地比较不同时间段内的多个时间序列。接下来我想添加一个选择器,以便我可以选择多个时间序列同时在绘图上查看,并取消选中我不想在绘图上看到的那些。

代码:

y<-series1
r<-series2
s<-series3

require(graphics)
manipulate( 
ts.plot(ts(y[x:(x+100)]),ts(r[x:(x+100)]),ts(s[x:(x+100)]),ts(t[x:    (x+100)]),ts(h[x:(x+100)]), gpars=list(col = c("red","green","gray")))
 ,  
 x=slider(1,length(y)))

数据:

dput(series1[1:10])
c(9.5, 9, 14.5, 22.5, 13, 16, 22, 31.5, 51, 43)


dput(series2[1:10])
c(20.3368220204774, 18.0733372276398, 16.61695493123, 15.6798824136643, 
15.0769466973063, 14.6890028922692, 14.4393902191708, 14.2787832298018, 
14.175444706505, 14.1089541357078)

dput(series3[1:10])
c(17.8189147557743, 22.3815592342001, 16.108169527143, 21.0654757276344, 
16.3878646132368, 18.9345933680916, 16.634277276197, 15.4322081636797, 
20.2884280389731, 12.2089595405668)

【问题讨论】:

  • 我似乎无法下载包,图形。
  • 还有每个 dput 被分配给什么?我非常困惑。请改写东西!另外,请告诉我们下载“minipulate”包。

标签: r plot time-series timeserieschart


【解决方案1】:

你可以这样做

y<-c(9.5, 9, 14.5, 22.5, 13, 16, 22, 31.5, 51, 43)
r<-c(20, 18, 17, 16, 15, 15, 14, 14, 14, 14)
require(graphics)
require(manipulate)
manipulate({ 
  lines <- list(if (chk.y) ts(y), if(chk.r) ts(r))
  cols <- c(if (chk.y) "red", if (chk.r) "green")
  do.call(ts.plot, c(lines, list(gpars=list(col=cols, xlab="t", ylab="y"))))
}, 
  chk.y=checkbox(TRUE, "y"),
  chk.r=checkbox(TRUE, "r")
)

【讨论】:

  • 谢谢,对您的代码稍作修改就可以了。 y&lt;-tsValidation r&lt;-Acast$mean require(graphics) require(manipulate) manipulate({ lines &lt;- list(if (chk.y) ts(y[x:(x+100)]), if(chk.r) ts(r[x:(x+100)])) cols &lt;- c(if (chk.y) "red", if (chk.r) "green") do.call(ts.plot, c(lines, list(gpars=list(col=cols, xlab="t", ylab="y")))) }, chk.y=checkbox(TRUE, "y"), chk.r=checkbox(TRUE, "r"), x=slider(1,length(y)) )
猜你喜欢
  • 2022-01-18
  • 1970-01-01
  • 1970-01-01
  • 2018-07-29
  • 1970-01-01
  • 1970-01-01
  • 2011-01-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多