请问如何将:
item1=['e0', 'e1', 'e7', 'e11']
item2=['e0', 'e1', 'e7', 'e8', 'e9']
item3=['e0', 'e1', 'e2']
转换为pyecharts tree图所需格式:
data = [
{"name": "e0",
"children": [
{"name": "e1",
"children": [
{"name": "e7",
"children": [
{"name": "e90"},
{"name": "e8",
"children": [
{"name": "e9"
}]}
]},
{"name": "e2"},
]},
],
}
]
画图
import json
from pyecharts.charts import Page, Tree
def tree_base(data):
tree = (
Tree()
.add("", data)
.set_global_opts(title_opts=opts.TitleOpts(title="Tree-基本示例"))
)
tree.render('./map1.html')
return tree
tree_base(data)
如果可以的话,能否用以下列表实现:
item1=['e0', 'e1', 'e7', 'e11']
item2=['e1', 'e7', 'e8', 'e9']
item3=['e1', 'e2']
[点击并拖拽以移动]
效果如图:
item1=['e0', 'e1', 'e7', 'e90']
item2=['e1', 'e7', 'e8', 'e9']
item3=['e1', 'e2']
lis = [item1,item2,item3]
tdict = {}
data = []
for li in lis:
p = None
for x in li:
if x in tdict:
p = tdict[x]
continue
d = {"name": x}
tdict[x] = d
if p:
p.setdefault("children",[]).append(d)
else:
data.append(d)
p = d
import json
print(json.dumps(data,indent=4))
什么转换规律?
您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632
非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!
速戳参与调研>>>https://t.csdnimg.cn/Kf0y