【发布时间】:2015-06-12 17:53:25
【问题描述】:
嗨,Highcharts 社区,
我很想知道是否有一种方法可以默认禁用单个图例项。例如,如果有 3 个图例项 - “已接受”“理想”“预测”,是否可以在图表加载后仅禁用“预测”图例项而无需先单击图例项? (注意:我不想完全消除图例项,我只是希望它最初是灰色的,并且仍然保留单击后再次启用图例项的功能。
任何帮助将不胜感激。
谢谢!
【问题讨论】:
标签: highcharts
嗨,Highcharts 社区,
我很想知道是否有一种方法可以默认禁用单个图例项。例如,如果有 3 个图例项 - “已接受”“理想”“预测”,是否可以在图表加载后仅禁用“预测”图例项而无需先单击图例项? (注意:我不想完全消除图例项,我只是希望它最初是灰色的,并且仍然保留单击后再次启用图例项的功能。
任何帮助将不胜感激。
谢谢!
【问题讨论】:
标签: highcharts
是的,您可以这样做。在您不想显示的数据元素的series 选项中,将visible 属性设置为false。
series: [{
data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4],
visible: false
}, {
data: [144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4, 29.9, 71.5, 106.4, 129.2]
}]
更新为在加载后设置可见性。
要处理您所说的无法注入visible 系列属性的情况,您可以使用series.update() 在chart.events.load 中执行此操作:
chart: {
events: {
load: function () {
this.series[0].update({
visible: false
});
}
}
},
Demo.
在这个例子中,我使用了东京系列的索引 0。您可以使用if 语句检查其他系列属性。
【讨论】:
visible 属性并更改“as”会发生什么?
.hide(),所以感谢@Pawel Fus
下面的代码对我有用,(我正在绑定动态系列)
$(Chart.series).each(function (i, val) {
if (val.name == "All Entity") {
val.setVisible(true);
}
});
【讨论】: