我有一个包含自定义图例的图表,即它根本不属于Highcharts,它完全是我自己的代码,此图表禁用了Highcharts图例。
是否可以使用API在Highcharts图表中打开/关闭系列数据和绘图带?
我找到了一个触发图例项目的点击事件来执行此操作的示例,但这显然依赖于存在的图例,所以这对我没用:http://birdchan.com/home/2013/01/23/trigger-a-click-event-on-a-legend-item-in-highchart/
我还尝试将系列数据.visible属性设置为false,然后重绘图表,虽然它设置了可见属性,但它不会重绘图表,所以没有任何变化:
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/
谢谢, 格雷格。
答案 0 :(得分:2)
要切换系列,请使用Series.setVisible()。当没有参数调用时,它会切换。
绘图带有点不同,因为它们没有hide(),show()或setVisible等方法。要切换绘图带,您需要按Axis.removePlotBand()将其删除,然后通过Axis.addPlotBand()添加一个具有相同选项的新带。