我有一个包含一系列事件的数据库表,这些事件有它们发生的日期。现在我想显示每个月的事件数并在折线图中显示它们。 我通过 php 获取数据并使用 data.addrow 在循环中生成 js 代码
现在这工作正常,但如果有一个月没有事件,它将不会添加为一行,并且该行将简单地插入缺失的月份。 因此,例如 1 月 5 日的事件、2 月 0 日和 3 月 5 日的事件,将创建一条从 1 月到 3 月的水平线,使其看起来像是 2 月的 5 场事件。
我怎样才能让这条线在一个“空”的月份下降到零?
是否需要用空值填充空行/月?这似乎不太实用。
最佳答案
如果你想让直线下降到零,你就是在插值,只是以不同的方式。 Google 为您提供了两种处理空值 (null) 的方法,使用 interpolateNulls
选项:
- True 将猜测介于两者之间的值(图表中的当前行为)
- False 将为空数据点(不是您想要的)在行中留下一个中断
要让所有空值都显示为零,您需要使用 for 循环遍历数据并将任何空值更改为 0。类似于以下代码。
for (i = 0; i < data.getNumberOfRows(); i++) {
if ( data.getValue(1, i) == null )
data.setValue(1, i) = 0
}
上面的代码没有测试过,不知道你的数据是怎么设置的所以没花太多时间测试(我不知道你的数据有多少列等,你可以根据需要进行调整和测试)。
关于javascript - 谷歌折线图如何不插入缺失数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15998545/