首先不设根节点,
这些节点就是第零层的节点。
"level": 0,
类似Tops、Blouse实心的为第一层节点
"level": 1,
Tank Top为第二层节点
"level": 2
且即使是下面这种情况
空心的节点直接和第一层节点相连,空心节点的level仍然是2。
节点数据结构
第零层节点数据结构
{
"id": "trend",
"name": "Trend",
"level": 0,
"childrenNum": 11,
"tag": "trend"
},
id和name、tag一样,level上面讲了,就是零不动,childrenNum是子节点的数量。
第一层节点数据结构
{
"id": "clustering",
"name": "Clustering",
"level": 1,
"childrenNum": 7,
"tag": "clustering",
"isLeaf": false,
"tags": [
"relation"
]
},
level变成了1,isLeaf是true表示没有孩子节点了如下图一,是false表示不是叶子,还有孩子节点如图二。tags就是一个字符串数组,里面是该节点所连的第零层节点。
我是图一
我是图二
第二层节点数据结构
第一种情况:和第一层节点相连的第二层节点,tags里面的字符串需是"第零层节点-第一层节点"(由于-该符号有特殊意义,故节点名称不得有-,反例前后端均视为不合法)
{
"id": "compactBox",
"name": "CompactBox",
"level": 2,
"isLeaf": true,
"tags": [
"relation-hierarchy"
],
},
第二种情况:自己和第零层节点相连的第二层节点,tags里面的字符串直接是第零层节点
{
"id": "wordcloud",
"name": "Word\nCloud",
"level": 2,
"isLeaf": true,
"tags": [
"compare"
]
},
第二层节点没有tag只有tags,第一层节点tag和tags均有。
边数据结构
边不做改动,
{
"source": "percentage",
"target": "groupbarchart"
},
原有的value值作用不明,需后续对接。