javascript - 在 Highchart 中交换 Y 轴

标签 javascript jquery highcharts

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

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

最佳答案

您可以使用 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/

关于javascript - 在 Highchart 中交换 Y 轴,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49361215/

相关文章:

javascript - 如何修改代码让Highcharts图表不覆盖页面顶部的固定导航栏?

MySQL、Highcharts : “operand should contain 1 column(s):” error (follow up)

javascript - Highstock csv 日期问题

javascript - 从 FormData 实例中的 base64 编码的 png 图像生成的 Blob 在服务器端被识别为应用程序/八位字节流

javascript - 在disable_with之后禁用按钮

javascript - 返回 GET 值并将其存储在 JS 中的变量中

javascript - 通过 body 标签的大量自定义 JS 事件

javascript - 为什么 jQuery.attr() 方法在我的 'click' 事件中不起作用?

javascript - Leaflet:双击时不要触发点击事件函数

javascript - 使用 jQuery 为父对象设置动画