【发布时间】:2019-01-11 12:31:31
【问题描述】:
所以我生成了一个包含四层的 JSON 文件,并使用 D3.js 的折叠框格式 (https://bl.ocks.org/swayvil/b86f8d4941bdfcbfff8f69619cd2f460) 来创建可视化。
我遇到的问题是,由于 JSON 文件太大,可视化甚至不会加载到 HTML 中,即使加载,可视化中的框也会滞后并且不会按应有的方式折叠。
因此,我想在 HTML 中使用 Select2 的下拉框创建一个搜索表单,以便用户可以输入节点/第 1 层值,并且可视化将仅显示该特定部门。由于我不擅长 Javascript,我发现创建这样的搜索功能非常困难。我已经为 JSON 中的每个值分配了 ID 号,但我不确定如何进一步处理它(如果这甚至是正确的方向)。
以下是我的 JSON 代码示例。因此,例如,如果用户输入 Lawyer 和 McDonald's,我希望可视化仅显示该节点及其子节点。如果我不清楚,我很抱歉,但任何帮助都会很棒。非常感谢!
{
"tree": {
"name": "Top Level",
"children": [
{
"name": "[('Lawyer', 'McDonald's')]",
"children": [
{
"name": "[('Doctor', 'Wendy's')]",
"percentage": "10%",
"duration": 5,
"children": [
{
"name": "[('Nurse', 'NYU')]",
"percentage": "1%",
"duration": 5,
"children": [
{
"name": "[('Pharmacist', 'LIU')]",
"percentage": "4%",
"duration": 5,
"id": "1.1.1.1"
},
{
"name": "[('PA', 'Wagner')]",
"percentage": "4%",
"duration": 5,
"id": "1.1.1.2"
}
],
"id": "1.1.1"
},
{
"name": "[('Surgeon', 'Harvard')]",
"percentage": "1%",
"duration": 3,
"children": [
{
"name": "[('Dentist', 'Buffalo')]",
"percentage": "1%",
"duration": 4,
"id": "1.1.2.1"
}
],
"id": "1.1.2"
}
],
"id": "1.1"
}
],
"id": "1"
},
{
【问题讨论】:
-
请分享您的示例 json 或您尝试过的一些代码。
-
@Ash 谢谢!刚刚更新。
标签: javascript html json d3.js