【发布时间】:2018-09-06 15:43:35
【问题描述】:
tl;博士
如何使Radial Tidy Tree 使用来自networkx 的
node_link_data(G[, attrs])或tree_data(G, root[, attrs])的JSON 树数据?如何使D3 Cluster Dendrogram 使用来自networkx 的
node_link_data(G[, attrs])或tree_data(G, root[, attrs])的JSON 树数据?如何使D3 Tidy Tree 使用来自networkx 的
node_link_data(G[, attrs])或tree_data(G, root[, attrs])的JSON 树数据?
示例不使用 JSON 格式,而是使用 CSV 样式的输入。
长版
嗨,
我正在使用 Python 和 networkx 来生成图形数据(主要是树状的)。我可以使用their page 中提到的 networkx 函数将数据导出为 JSON:
-
node_link_data(G[, attrs]): 返回节点链接格式的数据,适合 JSON 序列化和在 Javascript 文档中使用。 -
adjacency_data(G[, attrs]): 以适合JSON序列化和Javascript文档使用的邻接格式返回数据。 -
tree_data(G, root[, attrs]): 以树格式返回数据,适合 JSON 序列化并在 Javascript 文档中使用。
networkx 的文档明确提到:
类似于 d3.js 示例中的树 https://bl.ocks.org/mbostock/4063550
但是,linked example 似乎没有使用 JSON 树格式,而是使用了csv type of input。由于我的 javascript-skillz 基本上为零,我不明白如何使 Mike Bostock 的示例与我拥有的 JSON 数据一起工作。你能帮忙吗?
JSON 示例
{
"issueid": "3295658",
"issuetype": "Portfolio-Epic",
"status": "In Progress",
"pirank": 24,
"id": "ATROB-2523",
"children": [
{
"issueid": "3288189",
"issuetype": "Epic",
"status": "Implementation",
"id": "ATTDATA-233",
"children": [
{
"issueid": "3305730",
"issuetype": "Task",
"status": "Implementation",
"id": "ATTDATA-363"
},
{
"issueid": "3305723",
"issuetype": "Task",
"status": "Open",
"id": "ATTDATA-361"
},
{
"issueid": "3301728",
"issuetype": "Task",
"status": "Open",
"id": "ATTDATA-336"
},
{
"issueid": "3297381",
"issuetype": "Task",
"status": "Closed",
"id": "ATTDATA-300"
},
{
"issueid": "3295913",
"issuetype": "Task",
"status": "Review",
"id": "ATTDATA-290"
},
{
"issueid": "3295893",
"issuetype": "Task",
"status": "Open",
"id": "ATTDATA-289"
},
{
"issueid": "3291658",
"issuetype": "Task",
"status": "Closed",
"id": "ATTDATA-256"
},
{
"issueid": "3291653",
"issuetype": "Task",
"status": "Closed",
"id": "ATTDATA-255"
},
{
"issueid": "3291530",
"issuetype": "Task",
"status": "Open",
"id": "ATTDATA-253"
},
{
"issueid": "3290232",
"issuetype": "Task",
"status": "Open",
"id": "ATTDATA-247"
},
{
"issueid": "3287061",
"issuetype": "Task",
"status": "Resolved",
"id": "ATTDATA-226"
}
]
},
{
"issueid": "3300899",
"issuetype": "Request",
"status": "REJECTED",
"id": "ATI-1478"
}
]
}
【问题讨论】:
-
你能分享一个简单树(比如 3-8 个节点)的示例输出 json 吗?
-
如果你的 Python 技能不错,那么在 mozilla 网站上快速阅读如何用 Javascript 进行操作将不是问题。
-
@rioV8 : 抱歉,我两周前才(重新)开始学习 python.... :/ 你能添加一个链接到我可以开始阅读的地方吗?谢谢:)
标签: javascript json d3.js networkx