桑基图
程序员文章站
2022-05-25 21:16:10
...
Sankey(桑基图)
桑基图是一种特殊的流图, 它主要用来表示原材料、能量等如何从初始形式经过中间过程的加工、转化到达最终形式。
# 导入桑基图类
from pyecharts import Sankey
nodes = [
{'name': '自己申请'}, {'name': '朋友推荐'}, {'name': '参加招聘会'},
{'name': '上海'}, {'name': '南京'}, {'name': '杭州'},
{'name': '面试'},
{'name': '录用'}, {'name': '无响应'}, {'name': '拒绝'}
]
links = [
{'source': '自己申请', 'target': '上海', 'value': 15},
{'source': '自己申请', 'target': '南京', 'value': 15},
{'source': '朋友推荐', 'target': '南京', 'value': 5},
{'source': '自己申请', 'target': '杭州', 'value': 10},
{'source': '参加招聘会', 'target': '杭州', 'value': 8},
{'source': '上海', 'target': '无响应', 'value': 15},
{'source': '南京', 'target': '无响应', 'value': 10},
{'source': '南京', 'target': '面试', 'value': 10},
{'source': '杭州', 'target': '无响应', 'value': 10},
{'source': '杭州', 'target': '面试', 'value': 8},
{'source': '面试', 'target': '录用', 'value': 5},
{'source': '面试', 'target': '拒绝', 'value': 13}
]
sankey = Sankey("王小二找工作", width=1000, height=600)
sankey.add("", nodes, links,
line_opacity=0.3,
line_curve=0.5,
line_color='source',
is_random=True,
is_label_show=True, label_pos='right')
# sankey.render()
sankey.render('王小二找工作.html')
import os
import json
from pyecharts import Sankey
with open("sankey.json", "r", encoding="utf-8") as f:
j = json.load(f)
type(j)
dict
sankey = Sankey("桑基图示例", width=1200, height=600)
sankey.add("", nodes=j['nodes'], links=j['links'],
line_opacity=0.2, line_curve=0.5, line_color='source',
is_label_show=True, label_pos='right')
# sankey.render()
sankey
<div id="c9e070c481454582a4024698984ab30e" style="width:1200px;height:600px;"></div>
下一篇: HashMap深入理解底层源码