我在一个图表中设置了一个列和一行,例如链接:
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行)时,为什么列的最大宽度是“日”,而不是“小时”或“分钟”或其他宽度?
答案 0 :(得分:0)
您需要的是series.pointRange选项。列的宽度取决于该值,如果未配置 - ,范围将计算为两个最接近的数据点之间的距离(在轴上,因此具有该特定轴的每个系列将是进入帐户)。
如果将pointRange设置为1天,则列宽将跨越1天:
plotOptions: {
column: {
turboThreshold: 10000,
borderWidth: 0,
pointRange: 1000 * 3600 * 24,
pointPadding: 0,
groupPadding: 0
},
},