highcharts - Highcharts.js - 动态禁用给定类别
问题描述
在 Highcharts.js 中,是否可以通过单击来禁用/启用给定类别?就像您可以通过单击来禁用/启用图例中的给定系列一样。
如果不是,那么下一个最佳选择是什么?
解决方案
默认情况下,Highcharts 不支持通过单击来禁用类别。要获得想要的结果,您需要添加自定义代码。例如,在render
事件中,您可以将click
事件添加到xAxis
标签并使用新类别和数据更新图表:
var H = Highcharts,
categories = ['one', 'two', 'three'],
data = [1, 2, 3];
chart = Highcharts.chart('container', {
chart: {
events: {
render: function() {
var chart = this;
H.objectEach(chart.xAxis[0].ticks, function(tick) {
if (tick.label) {
H.addEvent(tick.label.element, 'click', function() {
data.splice(tick.pos, 1);
categories.splice(tick.pos, 1);
chart.update({
series: [{
data: data
}],
xAxis: {
categories: categories
}
});
});
}
});
}
}
},
series: [{
type: 'column',
data: data
}],
xAxis: {
categories: categories
}
});
现场演示:http: //jsfiddle.net/BlackLabel/8wfx5yve/
API 参考:https ://api.highcharts.com/class-reference/Highcharts.Chart#update
推荐阅读
- chatbot - 有没有办法在 DialogFlow 中离题?
- azure - 如何将 Azure Bot 与 SharePoint 链接?
- react-styleguidist - 将 ExtendedPropTypes 与 styleguidelist 一起使用
- authentication - IIB SOAPRequest 节点认证
- wordpress - 如何在 wordpress 中创建删除功能?
- javascript - 如何在 Edge 和 IE 中通过单击 SVG 形状来实现动画
- matplotlib - 我可以在不与 Matplotlib 重叠的情况下绘制抖动/散点图吗?
- c# - 创建配置部分时出错 - 重复'
' 找到配置元素 - excel - 计算不同顺序的excel中2张不同工作表之间的分数差异
- python - 检查输入字符串日期格式