javascript - 仅显示 Treemap HighCharts 的 1 个子节点
问题描述
我正在研究 TreeMap highcharts API。
当我单击任何节点时,它会转到子节点,但是当我到达最后一个节点时,只有子节点显示没有其他节点。
我的要求是,当我单击任何那个子节点时,只有那个子节点会显示在 treeMap 中,其他子节点应该是不可见的。
下面是我的代码。
Highcharts.chart('container', {
series: [{
type: 'treemap',
layoutAlgorithm: 'squarified',
allowDrillToNode: true,
animationLimit: 1000,
allowTraversingTree: true,
interactByLeaf : false,
dataLabels: {
enabled: false
},
levelIsConstant: false,
levels: [{
level: 1,
dataLabels: {
enabled: true
},
borderWidth: 3
}],
data: points
}],
subtitle: {
text: 'Click points to drill down. Source: <a href="http://apps.who.int/gho/data/node.main.12?lang=en">WHO</a>.'
},
title: {
text: 'Global Mortality Rate 2012, per 100 000 population'
},
plotOptions: {
series: {
events: {
click: function (event) {
if (event.point.node.childrenTotal == 0) {
alert('test')
}
}
}
}
}
});
请帮我解决这个问题
if (event.point.node.childrenTotal == 0){
//
}
我们需要在这一行中编写的内容只显示树形图中的可点击节点,其他节点应该是不可见的。
或者,是否有任何其他属性可以在没有单击事件的情况下处理此要求。
解决方案
要达到这种效果,您需要以适当的方式定义数据 - 将下一个子级嵌套到层次结构中间的点。像这儿:
series: [{
type: "treemap",
allowDrillToNode: true,
data: [{
id: 'B',
name: 'Bananas',
color: "#ECE100"
}, {
name: 'Test',
parent: 'B',
id: 'Test',
value: 10
}, {
name: 'Test',
parent: 'Test',
value: 2
}]
}]
演示:https ://jsfiddle.net/BlackLabel/Lkzpey9v/
API:https ://api.highcharts.com/highcharts/series.treemap.allowDrillToNode
推荐阅读
- c++ - 为什么基类的成员不保留它在构造函数中首次初始化的值?
- javascript - 意外的标记 '*' 在函数的参数列表之前需要一个开头的 '('
- javascript - 无法使用 Selenium Python 更改表中的选择项
- sql-server - SQL 存储过程 - 将软件日志表与新任务表连接以创建分配
- apache-spark - 在 pyspark 数据框中加载更少的列是否有任何性能(或其他)好处?
- c# - 支持“Equals”重载和隐式运算符的 Expression.Equal 解决方案
- c# - Selenium 自动化与静态页面对象模型
- c# - 如何在不使用旧版驱动程序的情况下在 MongoDB C# 驱动程序 2.1 版中实现 CommandDocument
- c++ - 找到“\ 0”时如何停止读取管道()
- node.js - 玩笑挂在 i18n.configure()