我有以下图表
如果您注意到此处的 y 轴值始终为“0”。但这条线画在图表的中间。但是,我希望将这条线绘制在“x 轴”之上,如下所示(如果至少有一个非零值就会这样):
我在这里缺少什么吗?
我有以下图表
如果您注意到此处的 y 轴值始终为“0”。但这条线画在图表的中间。但是,我希望将这条线绘制在“x 轴”之上,如下所示(如果至少有一个非零值就会这样):
我在这里缺少什么吗?
该图表无法计算合理的 y 轴刻度,因为它没有最小/最大值继续。如果你告诉它一个最大值,那么它会按照你的意愿呈现:
yAxis: {
endOnTick: false,
minPadding: 0,
max:1
},
如果您不想遍历数据以确定所有点是否为零,请让 highcharts 为您完成工作,因为它必须计算最小值/最大值。您可以调用 getExtremes 来计算最大 y 值,并使用 setExtremes 强制特定最大值:
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);
}
}
}
},
此处,类型为日期时间值的列。因此,请使用“null”而不是 0。
如下所示,
系列:[{
数据:[[1373308338468,null],[1373308938471,null]]
}]
但是在 yAxis 上的解决方法是 minRange 到“0.01”
例子,
yAxis: { min: 0, minRange: 0.01 }
如果即使值为零,您也可以查看图表,您可以使用
plotOptions: {
series: {
minPointLength: 3
}
},
这是您更新的小提琴http://jsfiddle.net/hcJjX/4/
希望这会有用