Highcharts:用于控制多个项目的其他图例项目

时间:2014-10-21 20:57:15

标签: highcharts grouping legend

我有一张Highcharts气泡图,显示了美国几十个州的数据。正如您所期望的那样,每个州的名称都显示为图例项目。当用户将鼠标放在州名称上时,该状态的气泡在图表中突出显示(所有其他气泡变为部分不透明)。单击图例中的州名称可以打开/关闭该状态的气泡。这一切都很好,我想保留所有功能。

我想要添加的是一些能够控制我可以定义的多个状态气泡的图例项。例如,"新英格兰"传奇项目。鼠标悬停它和所有新英格兰州(缅因州,佛蒙特州,罗德岛州等)将获得突出效果。点击"新英格兰"将打开/关闭该组中的所有状态。

任何人都知道如何做到这一点?

感谢您的关注,

1 个答案:

答案 0 :(得分:0)

一种解决方案是添加一些额外的按钮,这些按钮允许使用API​​调用同时切换多个系列' series.show'和' series.hide'一次隐藏或显示几个系列。这种方法的缺点是,当您将鼠标悬停在图例上时,您将无法获得悬停功能,并且按钮将与现有图例分开。

另一种选择是绘制反映现有数据的系列组,例如

{"name":"TEST GROUP","data":[{x:3.5,y:-0.8,z:50600,color:"#AD5C33"},{x:4.1,y:-   0.8,z:122100,color:"#9966FF"},{x:5.8,y:-1.8,z:40700,color:"#33AD5C"}]},
{"name":"Utah","data":[[3.5,-0.8,50600]],"color":"#AD5C33","visible":true,"_symbolIndex":3},
{"name":"Minnesota","data":[[4.1,-0.8,122100]],"color":"#9966FF","visible":true,"_symbolIndex":2},   
{"name":"Maine","data":[[5.8,-0.8,40700]],"color":"#33AD5C","visible":true,"_symbolIndex":1},

在此示例中,TEST GROUP具有与犹他州,明尼苏达州和缅因州相同的数据,但在图例中显示为单独的项目http://jsfiddle.net/j0sy8u80/

这种方法也不理想,因为切换测试组'也不会隐藏其他系列。您可以通过处理series.events.hide和series.events.show事件来排序。隐藏分组系列后,您可以使用API​​调用chart.series.hide手动隐藏关联的状态系列。

希望我能给你一些有用的想法。