点的间隙会影响highcharts列的宽度。错误?

时间:2017-06-16 23:36:45

标签: highcharts

我在一个图表中设置了一个列和一行,例如链接:

https://jsfiddle.net/dodouwang/wtjbgav0/1/

Highcharts.chart('container', {
    xAxis: {
        type: 'datetime',
    },
plotOptions: {
        column: {
            turboThreshold: 10000,
            borderWidth: 0,
            pointPadding: 0,
            groupPadding: 0
        },
    },
    series: [{
        type: 'column',
        name: 'column',
        data: [[1497484800000,210000],[1497571200000,120000],[1497744000000,190000]]
    },{
        type: 'line',
        name: 'line_wide',
        data: [[1497484800000,210000],[1497571200000,120000]]
    },{
        type: 'line',
        name: 'line_narrow',
        data: [[1497484800000,210000],[1497498000000,120000]],
        visible: false
    }],
});

但是我发现如果线的点之间的间隙太窄(不到一天),那么列的宽度会自动设置为不大于间隙。这是一个错误还是一个功能?

你可以访问上面的链接,默认显示是一个带有“更宽”行的列,似乎没事。但是如果你取消选择“line_wide”并选择“line_narrow”,那么这个bug就会诅咒。

如何解决?

PS:我对此链接的列有另一个问题:我已将xAxis设置为'datetime',列数据为[[1497484800000,210000],[1497571200000,120000],[1497744000000,190000]并设置Gapping为0以使列的宽度尽可能宽。但是,当图表中只有列(未选择2行)时,为什么列的最大宽度是“日”,而不是“小时”或“分钟”或其他宽度?

1 个答案:

答案 0 :(得分:0)

您需要的是series.pointRange选项。列的宽度取决于该值,如果未配置 - ,范围将计算为两个最接近的数据点之间的距离(在轴上,因此具有该特定轴的每个系列将是进入帐户)。

如果将pointRange设置为1天,则列宽将跨越1天:

plotOptions: {
 column: {
  turboThreshold: 10000,
  borderWidth: 0,
  pointRange: 1000 * 3600 * 24,
  pointPadding: 0,
  groupPadding: 0
 },
},

示例:https://jsfiddle.net/nogfr6js/