4

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

4

3 回答 3

10

你可以这样做:

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;
}

于 2015-03-31T01:03:11.647 回答
6

使用 Highcharts v5,您现在可以这样做:

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

update函数动态更新图表选项以强制更改zoomType后期渲染。

于 2016-12-07T21:09:23.530 回答
-1

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

克隆系列以重绘为高图在绘制后将其设置为空。

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

于 2013-03-26T18:58:40.293 回答