使用Amcharts 4,寻找在条形图中显示隐藏列的解决方案,其中每个图例代表一列



有没有一种方法可以通过单击图例来隐藏/显示条形图中的列?具体来说,当每个图例表示条形图中的一列时,如这里的示例所示。

在这里找到了自定义解决方案,这是一个非常好的开端。但这是AmCharts v3,我正在寻找AmCharts v4,其中-

  • 可以使用属性legend.itemContainers.template.togglable
  • 通过已知的API实现的任何适配器

感谢

(注意-解决方案由zeroin提供。我只是在这里引用,所以为了帮助AmCharts 4中需要这种行为的人(

以下是完整解决方案的链接-https://codepen.io/team/amcharts/pen/bGNyXod

基本上,订阅事件dataitemsvalidatedtoggled(在legend.itemContainers上(就完成了这项工作。

相关代码片段-

series.events.on("dataitemsvalidated", function(){
var data = [];
series.dataItems.each(function(dataItem){
data.push({name:dataItem.categoryX, fill:dataItem.column.fill, dataItem:dataItem});
})
legend.data = data;
})
legend.itemContainers.template.events.on("toggled", function(event) {    
if(event.target.isActive){
event.target.dataItem.dataContext.dataItem.hide(series.interpolationDuration, 0, 0, ["valueY"]);
}
else{
event.target.dataItem.dataContext.dataItem.show(series.interpolationDuration, 0, ["valueY"]);
}
})

希望这能有所帮助。

相关内容

  • 没有找到相关文章

最新更新