http://jsfiddle.net/wtftc/cGbUh/
$(function () {
$('#container').highcharts({
chart: {
plotBorderWidth: 1
},
xAxis: {
},
yAxis: [{
startOnTick: true,
endOnTick: true,
}, {
opposite: true,
title: {
text: null,
}
}],
title: {
text: '',
},
series: [{
data: [-67900.92, 454001.7, -204238.28, 322154.52, 162814.29, 940881.87, 454987.58, -190981.9, 77289.43, -578758.66, 232812.59, -553224.3, -161440.06, 203872.86, -487226.65, 582178.18, 88564.43, 250057.57, -62186.0600000001, 377721.25, -196420.64, 38713.0099999999, 284969.83, 166221.67],
}]
});
// the button action
$('#button').click(function() {
var chart = $('#container').highcharts();
var yAxis = chart.yAxis[0];
yAxis.options.startOnTick = false;
yAxis.options.endOnTick = false;
chart.yAxis[0].setExtremes(-1034970.057, 1034970.057);
});
});
我创建了一个 jsfiddle 示例来说明我正在尝试做的事情。我用示例中的数据加载了一个图表,然后我想为我的轴设置自定义值。我设置的极值是 -1034970.057、1034970.057,因为我希望我的 y 轴值是对称的。
然而,我在图表中最终得到的是 yAxis 极端值 -1.5m 和 +3m,而不是 -1.5m 和 +1.5m。我要求它是对称的,但是在你按下设置极端按钮后,你可以看到它不是对称的。
我的数据是动态的,并且会根据他们正在查看的页面上的设置而变化,因此这些数据只是我可能遇到的众多场景之一的示例。这意味着我不能硬编码滴答间隔或滴答计数。有没有办法让它对称?