谷歌线图如何不插入丢失的数据

Google line charts how to NOT interpolate missing data

本文关键字:数据 插入 何不 谷歌      更新时间:2023-09-26

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

在循环中生成js代码。

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

如何在"空"月份将行归零?

我需要用null填充空行/月吗?这看起来不太实用。

如果你想让这条线归零,你就是在用一种不同的方式进行插值。Google提供了两种使用interpolateNulls选项处理空值(nulls)的方法:

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

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

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

上面的代码没有经过测试,我不知道你的数据是如何设置的,所以我没有花太多时间测试它(我不知道你的数据有多少列等,你可以根据需要调整和测试)。