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