动态更改缩放类型?

时间:2013-03-26 18:45:53

标签: highcharts highstock

我想在不创建新实例的情况下将缩放类型从“x”更改为“xy”, 我想做它像他们有的update()方法.. 位于myChart.options.chart.zoomType

3 个答案:

答案 0 :(得分:8)

您可以这样做:



var chart1 = new Highcharts.StockChart({
   chart: {
      zoomType: 'xy', //requried!
      ...
   }
   ...
});

function SwitchToZoomX() {
   chart1.pointer.zoomX = true;
   chart1.pointer.zoomY = false;
   chart1.pointer.zoomHor = true;
   chart1.pointer.zoomVert = false;
}

function SwitchToZoomY() {
   chart1.pointer.zoomY = true;
   chart1.pointer.zoomX = false;
   chart1.pointer.zoomVert = true;
   chart1.pointer.zoomHor = false;
}




答案 1 :(得分:4)

使用Highcharts v5,您现在可以执行此操作:



chart1.update({chart: {zoomType: "y"}})




update函数会动态更新图表选项,以便在发布后zoomType进行全面更改。

答案 2 :(得分:0)

首先为图表准备一个字符串以显示

克隆系列要重绘,因为高级图表在绘制后将其设置为空。

var seriesClone=[{
        name: 'USD to EUR',
        data: [1,2,3,4,4,5,6,7,7,8,8,8,9,10,14]
   }]

要设置的系列选项

   var chartOptions={   

    chart: {
        renderTo:'container',
        zoomType: 'xy'
    },

    rangeSelector: {
        selected: 1
    },

    series: [{
        name: 'USD to EUR',
        data: [1,2,3,4,4,5,6,7,7,8,8,8,9,10,14]
    }]
                 }

 var chart = new Highcharts.StockChart(chartOptions);

当你想改变ZoomType的值时,重新声明这个图表

   chartOptions.chart.zoomType='y';
   chartOptions.series=seriesClone;
   myChart=new Highcharts.StockChart(chartOptions); 

工作示例JSFIDDLE