2013-03-28 125 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個數據點,但是我可以在屏幕上的幾個圖表上有幾百個數據點,所以每次有人點擊頁面上的按鈕時重繪兩次會變得非常昂貴。 –