如何将缺省数据的高位图默认为0

Wra*_*han 48 javascript highcharts

我有1分钟的时间序列.我想在缺少点的图表中显示为0.

我找到了xAxis.ordinal并将其关闭,显示时间序列正确间隔开.问题是它直接在点之间绘制线条而不会为丢失的数据设置为0.

eol*_*son 5

一种方法是预处理数据,替换null0:

var withNulls = [null, 12, 23, 45, 3.44, null, 0];
var noNulls = withNulls.map(function (item) {
    return (item === null) ? 0 : item;
});
Run Code Online (Sandbox Code Playgroud)

保存在jsfiddle上的示例:http://jsfiddle.net/7mhMP/

  • 这不回答问题,这只是避免了问题. (15认同)

Jus*_*ijn 5

我已经彻底搜索了HighCharts的API参考,但他们没有提供该选项.它们提供的是在null数据介于两者之间时禁用点连接的选项(仅限线和面积图):

var chart = new Highcharts.Chart({
    plotOptions: {
        line: {
            connectNulls: false
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

这是根据API的默认设置,因此我不确定为什么您的数据会连接null两者之间的值.也许他们最近改变了默认值?

具有缺失数据的HighChart示例

我觉得这是你的数据的良好表示,因为拖欠null0似乎误导.

  • 它很受欢迎.例如,您在数据库中计算您的站点事件:错误,登录等.当然,只有发生的事件被写入日志(日志).当您按天计算事件分组时,某些天可能没有发生任何事件,并且它们将在日期序列中丢失.这意味着观察到0个事件.如果它是空的,那就意味着"没有数据 - 我们没有观察到这一天,我们没有计算,没有记录,我们不知道". (11认同)
  • 该问题要求0替换 - 没有中断,没有与点到点的直线中的平均值的空连接.缺失值应该被解释为0.这是当我们意味着没有观察到任何发生,而不是我们错过了观察并且不知道该值.我们知道该值为0.在数据库期刊统计中相当受欢迎. (2认同)