在Highchart

时间:2018-03-19 10:53:57

标签: javascript jquery highcharts

我有一张包含多个Y-Axis的图表。其中一个是Primary Y Axis,其余两个是Secondary Y-Axis,如下图所示:

JSFiddle

上面的代码示例呈现图表,如下图所示:

enter image description here

现在动态(比如按钮点击事件)我想交换两个secondary Y-Axis的位置,所以带有交换轴的图表如下图所示:

enter image description here

如果您在上图中看到,则secondary Y-Axis都已交换。

我不知道如何解决这个问题。我尝试为每个Y轴更改index的值,如下所示。但这似乎不起作用。

$('#buttonSwap').click(function() {
    console.log(currChart);
  currChart.series[1].yAxis.index = 2;
  currChart.series[2].yAxis.index = 1;
});

1 个答案:

答案 0 :(得分:1)

您可以使用update函数更改系列的图表轴,如下所示:

currChart.update({series: [{}, {yAxis: '2'}, {yAxis: '1'}]}, true);

这会将系列1设置为使用轴2,将系列2设置为使用轴1。

要来回改变你可以像这样切换:

var axis = '1';
$('#buttonSwap').click(function() {
  if(axis == '1') {
    currChart.update({series: [{}, {yAxis: '2'}, {yAxis: '1'}]}, true);
    axis = '2';
  } else {
    currChart.update({series: [{}, {yAxis: '1'}, {yAxis: '2'}]}, true);
    axis = '1';
  }
});

工作示例: http://jsfiddle.net/ewolden/2Lwks0gt/35/