R中的Google动态图表timevar行为

时间:2013-02-20 15:49:25

标签: r google-visualization googlevis

有人可以解释一下,为什么我点击“播放”时会在同一天收到几个'积分'? 每个日期都是独一无二的,所以对我来说没有意义。

我的代码是:

require(googleVis)
n = 100
dates = seq(Sys.Date(), by = 'day', length = n)
x = 10 * rnorm(n)
y = 3 * x + 1 + rnorm(n)
label = sample(LETTERS[1:4], size = n, replace = TRUE)

my.data = data.frame(Date = dates, x, y, label)
p = gvisMotionChart(my.data, idvar ='label', xvar = 'x', yvar = 'y', timevar= 'Date')
plot(p)

谢谢!

2 个答案:

答案 0 :(得分:1)

每个标签(A,B,C,D)都有一个球。我的猜测是它在日期之间进行插值,你也可以看到球在某些日期的缓慢移动方式。为了拥有球,你显然可以只有一个标签。

编辑。对每个标签存在的日期范围插值。请参阅下面的代码。标签序列是{D,A,A,A,...,A,B,...... B,C,...... C,D,...... D}。 D球始终显示,并在前两个值之间缓慢插值。其余的球没有出现在他们的射程之外。似乎是处理缺失值的合理方法。

require(googleVis)
n = 100 
dates = seq(Sys.Date(), by = 'day', length = n)
x = 10 * rnorm(n)
label = rep(LETTERS[1:4], each=25)
label[1] = "D"

my.data = data.frame(Date = dates, x, y, label)
p = gvisMotionChart(my.data, idvar ='label', xvar = 'x', yvar = 'y', timevar= 'Date')
plot(p)

编辑2.已实现我粘贴在原始代码段中,但未进行任何更改。现在修好了。

答案 1 :(得分:0)

svenski是对的。它是googleVis图上描绘的点之间的运动。当您移动到数据中的下一个标签时,您会看到多个点。