4

我有一个包含一系列事件的数据库表,这些事件有它们发生的日期。现在我想显示每个月的事件数量并在折线图中显示它们。我通过 php 获取数据并使用 data.addrow 在循环中生成 js 代码

现在这工作正常,但如果有一个月没有事件,它将不会添加为一行,并且该行将简单地插入缺少的月份。因此,例如 1 月 5 日的事件、2 月 0 日和 3 月 5 日的事件,将创建一条从 1 月到 3 月的水平线,使其看起来像 2 月的 5 个事件。

我怎样才能让“空”月的线路降为零?

我需要用 null 填充空行/月吗?这似乎不太实用。

4

1 回答 1

3

如果你想让这条线下降到零,你就是在插值,只是以不同的方式。Google 为您提供了两种使用interpolateNulls选项处理空值(null)的方法:

  1. True将猜测介于两者之间的值(图表中的当前行为)
  2. False将在空数据点的行中留下一个中断(不是你想要的)

要使所有空值显示为零,您需要使用 for 循环遍历数据并将任何空值更改为 0。类似于下面的代码。

for (i = 0; i < data.getNumberOfRows(); i++) {
  if ( data.getValue(1, i) == null )
    data.setValue(1, i) = 0
}

上面的代码没有经过测试,也不知道你的数据是怎么设置的,所以也没花多少时间去测试(不知道你的数据有多少列等等,可以调整测试如所须)。

于 2013-04-15T00:41:55.833 回答