我想用python中的pyecharts写一个5层的桑基图,每个层次分别为2018年、2019年、2020年、2021年和2022年,每个层次包含3个节点,路径随机,请帮我写出这段代码
时间: 2024-05-03 13:20:57 浏览: 66
好的,以下是使用pyecharts绘制5层的桑基图的代码:
```python
import random
from pyecharts.charts import Sankey
from pyecharts import options as opts
# 构造数据
nodes = [
{"name": "2018年"},
{"name": "2019年"},
{"name": "2020年"},
{"name": "2021年"},
{"name": "2022年"},
{"name": "节点1"},
{"name": "节点2"},
{"name": "节点3"},
]
links = []
for i in range(4):
for j in range(3):
links.append({"source": i, "target": 4+j, "value": random.randint(10,100)})
# 绘制桑基图
sankey = Sankey()
sankey.add("",
nodes,
links,
linestyle_opt=opts.LineStyle(width=4, opacity=0.5, curve=0.5, color="#ddd"),
label_opts=opts.LabelOpts(position="right"))
sankey.set_global_opts(title_opts=opts.TitleOpts(title="5层桑基图"))
sankey.render("sankey.html")
```
上述代码将生成一个名为“sankey.html”的html文件,可以通过浏览器打开来查看生成的桑基图。希望这个回答能够帮到你!
阅读全文