python pyecharts绘制桑基图(Sankey )

桑基图(Sankey diagram),即桑基能量分流图,也叫桑基能量平衡图。它是一种特定类型的流程图,图中延伸的分支的宽度对应数据流量的大小,通常应用于能源、材料成分、金融等数据的可视化分析。因1898年Matthew Henry Phineas Riall Sankey绘制的“蒸汽机的能源效率图”而闻名,此后便以其名字命名为“桑基图”

利用python的pyecharts绘制桑基图

1.node(所有节点)

#形如      {'name': '  '}

2.link

#形如     {'source':'   ','target':'  ','value':   }

简单的代码示例:

from pyecharts import options as opts
from pyecharts.charts import Sankey

node =[{'name': '内蒙古'},
 {'name': '基里巴斯'},
 {'name': '也门'},
 {'name': '古巴'},
 {'name': '喀麦隆'},
 {'name': '多米尼克'},
 {'name': '中非共和国'}]


link =[{'source': '内蒙古', 'target': '中非共和国', 'value': 165000},
 {'source': '内蒙古', 'target': '也门', 'value': 136200},
 {'source': '内蒙古', 'target': '古巴', 'value': 213000},
 {'source': '内蒙古', 'target': '喀麦隆', 'value': 16560300},
 {'source': '内蒙古', 'target': '基里巴斯', 'value': 2831400},
 {'source': '内蒙古', 'target': '多米尼克', 'value': 101400}]


pic = (
    Sankey().add('',
         node,
         link,
         linestyle_opt=opts.LineStyleOpts(opacity = 0.3, curve = 0.5, color = 'source'),
         label_opts=opts.LabelOpts(position = 'right'),
         node_gap = 30,#节点之间的距离,(查看垂直图片的操作orient="vertical")

    ).set_global_opts(title_opts=opts.TitleOpts(title = '通话记录'))
)
pic.render('test.html')

打开网页如下(具体有关更多的设置请看官方的API):

#节点之间的距离 node_gap=30

#查看垂直图片的操作orient="vertical",

python pyecharts绘制桑基图(Sankey )_第1张图片

你可能感兴趣的:(数据分析和可视化,pyecharts,桑基图,Sankey,python,可视化)