动态更改Highstock的范围

时间:2013-06-25 07:39:21

标签: javascript highstock

我想动态更改图表中的范围。如果我从较大的值变为较小的值,一切正常。但是,如果我想再次走向更大,没有任何反应。

您可以在此处尝试:http://jsfiddle.net/Charissima/wkBwW/15/

点击“范围50”按钮,然后点击“范围20”。 然后'范围50'再次。您可以看到颜色变化但不是范围。

我努力想弄清楚如何解决这个问题,但没有成功。我希望,有人可以帮助我。

<div id="container" style="height: 400px; min-width: 600px"></div>

<script src="http://code.highcharts.com/stock/highstock.js"></script>

<button id="button_20">Range 20</button>
<button id="button_50">Range 50</button>

$(function() {
$('#container').highcharts({  

    chart: {
    },

    rangeSelector: {
        enabled: false          
    },

    exporting: {
        enabled: false
    },

    title : {
        text : 'Ranges'
    },

    navigator: {
        enabled: true,
    },

    xAxis: {
        lineColor: '#ffcc00'
    },

    series : [{
        name : 'Random data',
        data : (function() {
            // generate an array of random data
            var data = [], i;
            for( i = 1; i <= 100; i++) {
                data.push([
                    i,
                    Math.round(Math.random() * 100)
                ]);
            }
            return data;
        })()
    }]

});

// the button action
$('#button_20').click(function() {
    var chart = $('#container').highcharts();
    chart.xAxis[0].update({
        lineColor: '#00ff00',           
        range: 20
    });     
});

$('#button_50').click(function() {
    var chart = $('#container').highcharts();
    chart.xAxis[0].update({
        lineColor: '#E22636',           
        range: 50
    });     
  });        
});

1 个答案:

答案 0 :(得分:3)

您是否尝试使用setExtremes()http://api.highcharts.com/highstock#xAxis.events.setExtremes来定义范围。

编辑: 示例:http://jsfiddle.net/wkBwW/16/