Highcharts - 使用' errorbar' type覆盖轴间隔

时间:2014-08-05 17:13:33

标签: highcharts

我正在设置我的X和Y轴设置最小值,最大值和间隔。根据文档很容易 - 事实上我到目前为止使用Highcharts没有任何问题 - 事实上完全相反,它是一个非常棒的,令人敬畏的工具。但是,当我在我的系列中添加错误条时,它似乎会淘汰x轴 - http://jsfiddle.net/Su44W/

只需更改为系列'类型为arearangehttp://jsfiddle.net/46dsn/1),提供相同的数据点[x,low,high],图表现在尊重我的min,{{1在x轴上和} max。所以这引出了一个问题,这是一个错误还是我做错了什么?

1 个答案:

答案 0 :(得分:2)

根据我的理解,errorbar会导致轴将自身视为“列状图表”的一部分。也就是说,轴上的点具有跨度。结果是运行这段代码以防止比有点(在line 7194 of the source上找到)更多的滴答:

// In column-like charts, don't cramp in more ticks than there are points (#1943)
if (axis.pointRange) {
    axis.tickInterval = mathMax(axis.pointRange, axis.tickInterval);
}

我不确定这是如何解决问题的,但在某种程度上设置pointRange系列的errorbar会导致轴也使用pointRange作为轴。我猜它只是使用所有系列的最大点范围,或类似的东西。这意味着您指定的tickInterval将是上述mathMax - 函数中的“最大值”。像这样:

{
    name: 'Series 1 error bars',
    data: [
        [4,7.26,7.34],
        [12,6.85,7.06],
        [26,6.92,7.12]
    ],                      
    linkedTo: ':previous',
    color: "#013879",
    zIndex: 0,
    whiskerLength: 7,
    type: 'errorbar',
    pointRange: 0
}

检查this JSFiddle linkpointRange的实际效果。

这将产生的负面影响是,错误栏的顶部和底部行的宽度非常短。您也可以通过为this JSFiddle demonstration指定系列的pointWidth来解决此问题。