欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

桑基图

程序员文章站 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>

相关标签: 数据科学