【问题标题】:Highcharts: Additional legend items to control multiple itemsHighcharts:控制多个项目的附加图例项目
【发布时间】:2014-12-17 05:40:44
【问题描述】:

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

我要添加的是一些图例项,它们可以控制一组我可以定义的多个状态气泡。例如,“新英格兰”图例项。将鼠标悬停在它上面,所有新英格兰州(缅因州、佛蒙特州、罗德岛州等)都会获得高亮效果。点击“新英格兰”将打开/关闭该组中的所有州。

有人知道如何做到这一点吗?

感谢您的关注,

【问题讨论】:

  • 如果您发布您的代码会很有帮助,或者更好的是,一个 jsfiddle 显示您到目前为止所做的事情。目前每个州都是一个单独的系列吗?
  • 每个州都是一个独立的系列。我会尝试制作一个jsfiddle。 (以前从未这样做过)

标签: highcharts grouping legend


【解决方案1】:

一种解决方案是添加一些额外的按钮,允许使用 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 手动隐藏关联的状态序列。

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

【讨论】:

  • 或使用legendItemClick - 只需检查系列是否应该隐藏任何其他系列,或者只是它本身。
猜你喜欢
  • 1970-01-01
  • 2016-08-16
  • 1970-01-01
  • 2016-01-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多