1

我有一个带有自定义图例的图表,即它根本不是 Highcharts 的一部分,它完全是我自己的代码,该图表禁用了 Highcharts 图例。

是否可以使用 API 在 Highcharts 图表中打开/关闭系列数据和绘图带?

我找到了一个触发图例项目的单击事件来执行此操作的示例,但这显然依赖于存在的图例,所以这对我没有用:http: //birdchan.com/home/2013/01/23 /触发-a-click-event-on-a-legend-item-in-highchart/

我还尝试将系列数据 .visible 属性设置为 false,然后重绘图表,虽然它设置了 visible 属性就好了,但它不会重绘图表,所以没有任何变化:

var chart = new Highcharts.Chart(myoptions);

$("#custom_legend_link").click(function (e) {
    chart.series[0].visible = !chart.series[0].visible;
    chart.redraw();
}

这是一个使用基本行演示的 jsFiddle,显示了我的问题:

http://jsfiddle.net/gfyans/zsaV4/

谢谢,格雷格。

4

1 回答 1

2

要切换系列,请使用Series.setVisible()。当不带参数调用时,它会切换。

Plot band 有点不同,因为它们没有 hide()、show() 或 setVisible 等方法。要切换绘图带,您需要通过 Axis.removePlotBand() 将其删除,并通过Axis.addPlotBand()添加具有相同选项的新带。

于 2013-01-31T18:06:53.567 回答