Highcharts yAxis setExtremes far off
Posted
技术标签:
【中文标题】Highcharts yAxis setExtremes far off【英文标题】: 【发布时间】:2013-03-28 20:17:03 【问题描述】: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。我要求它是对称的,但是在你按下设置极端按钮后,你可以看到它不是对称的。
我的数据是动态的,并且会根据他们正在查看的页面上的设置而变化,因此这些数据只是我可能遇到的众多场景之一的示例。这意味着我不能硬编码滴答间隔或滴答计数。有没有办法让它对称?
【问题讨论】:
【参考方案1】:我通过在图表中将 start/endOnTick 设置设置为 false 并在点击时设置为 true 来使其工作。
http://jsfiddle.net/uNvvk/
yAxis: [
startOnTick: false,
endOnTick: false,
,
yAxis.options.startOnTick = true;
yAxis.options.endOnTick = true;
我不知道为什么会这样!
【讨论】:
谢谢,我很欣赏这个想法,但我的数据是动态的,我不想切换,并且 startOnTick 和 endOnTick 变量强制 2 次重绘。在这个例子中,我只有大约 25 个数据点,但我可以在屏幕上的几个图表上分别有几百个数据点,因此每次有人单击页面上的按钮时重绘两次会变得很昂贵。以上是关于Highcharts yAxis setExtremes far off的主要内容,如果未能解决你的问题,请参考以下文章
Highcharts yAxis setExtremes far off
解决 Highcharts 中 yAxis 的 max 设置无效的问题