我有以下图表
如果您注意到y轴值始终为“0”。但是线条是在图表中间绘制的。但是,我希望在“x轴”的顶部绘制线条,如下所示(如果存在至少一个非零值的话):
我在这里缺少什么?
答案 0 :(得分:2)
图表无法计算合理的y轴刻度,因为它没有最小/最大值。如果你告诉它最大值,那么它会按你想要的那样渲染:
yAxis: {
endOnTick: false,
minPadding: 0,
max:1
},
如果您不希望迭代数据以确定所有点是否为零,那么让highcharts为您完成工作,因为它必须计算最小值/最大值。您可以调用getExtremes来计算max y值,并使用setExtremes强制特定的max:
chart: {
plotBorderWidth: 1,
type: 'column',
events: {
load: function (event) {
var extremes = this.yAxis[0].getExtremes();
if (extremes.dataMax == 0) {
extremes.max = 1;
this.yAxis[0].setExtremes(0, 1);
}
}
}
},
答案 1 :(得分:0)
此处为具有日期时间值类型的列。所以,请使用“null”而不是0。
如下所示,
系列:[{
数据:[[1373308338468,null],[1373308938471,null]]
}]
但yAxis的解决方法是minRange为“0.01”
实施例,
yAxis:{min:0,minRange:0.01}
答案 2 :(得分:-1)
如果您想看到图表,即使值为零,您也可以使用
plotOptions: {
series: {
minPointLength: 3
}
},
这是您更新的小提琴http://jsfiddle.net/hcJjX/4/
希望这将是有用的