2013-03-28 92 views
0

http://jsfiddle.net/wtftc/cGbUh/Highcharts Y轴setExtremes遥远

$(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轴值是对称的。

不过,我结束了在图表中是Y轴-1.5m的极端和+3米,而不是-1.5m和+1.5米。我要求它是对称的,但是当你按下设置的极值按钮后,你可以看到它不是对称的。基于他们正在寻找在页面上的设置

我的数据是动态和变化,所以这个数据仅仅是在许多情况下,我可能会遇到一个的例子。这意味着我无法对滴答间隔或滴答计数进行硬编码。有没有办法让这是对称的?

回答

2

我得到了它的图表中的起动/ endOnTick设置设置为false,然后为true点击工作。

http://jsfiddle.net/uNvvk/

yAxis: [{ 
     startOnTick: false, 
     endOnTick: false, 
    }, { 


yAxis.options.startOnTick = true; 
yAxis.options.endOnTick = true; 

我不知道为什么这样的作品虽然!

+0

谢谢你,我很欣赏的想法,但我的数据是动态的,我不希望有切换和startOnTick和endOnTick变量来强制重绘2。在这个例子中,我只有大约25个数据点,但是我可以在屏幕上的几个图表上有几百个数据点,所以每次有人点击页面上的按钮时重绘两次会变得非常昂贵。 –