Excel函数编程可视化|Excel绘图太麻烦?Python轻松绘制桑基图,可视化小技巧

桑基图(Sankeydiagram) , 即桑基能量分流图 , 也叫桑基能量平衡图 。 它是一种特定类型的流程图 , 图中延伸的分支的宽度对应数据流量的大小 , 通常应用于电商、材料成分、金融等数据的可视化分析 。
【Excel函数编程可视化|Excel绘图太麻烦?Python轻松绘制桑基图,可视化小技巧】因1898年MatthewHenryPhineasRiallSankey绘制的“蒸汽机的能源效率图”而闻名 , 此后便以其名字命名为“桑基图” 。
Excel函数编程可视化|Excel绘图太麻烦?Python轻松绘制桑基图,可视化小技巧
文章图片
现如今的可视化软件行业如此发达 , 制作此类桑基图已非常方便 , 从最高端的JS库(D3、Echarts、highchart)到主流的数据科学编程工具(R、Python等)亦或者人人都能上手的自助式BI工具(PowerBI、Tableau等)都可以胜任此项工作 。
今天我们就用Python制作上面这张桑基图 , 简单容易 , 快速上手!
数据源下图中为准备好的数据源 , 每一行为城市对照区域以及相应的旅客人数 。
Excel函数编程可视化|Excel绘图太麻烦?Python轻松绘制桑基图,可视化小技巧
文章图片
代码书写这里我用的是Pythonnotebook , 开始之前需要先安装可视化包pyecharts , 直接命令行输入pip3installpyecharts即可 。
1、首先导入两个模块 , options以及Sankey , 其中options负责调节标签、线条之类的 , Sankey为桑基图 。
其次输入桑基图参数nodes , 主要格式为{'name':'字段'} , 表格中A/B列涉及到的所有字段 , 都要输入进去 。
Excel函数编程可视化|Excel绘图太麻烦?Python轻松绘制桑基图,可视化小技巧
文章图片
2、接着输入参数links , 如下图所示 , 每一个小参数 , 即为Excel表中的每一行 , source对应着A列 , target对应着B列 , value对应着C列 , 以此来完成线条的对应情况 。
Excel函数编程可视化|Excel绘图太麻烦?Python轻松绘制桑基图,可视化小技巧
文章图片
3、新建一个桑基图实例
新建一个桑基图实例C , 并赋予参数 , 完成可视化展示 , 如下图所示:
Excel函数编程可视化|Excel绘图太麻烦?Python轻松绘制桑基图,可视化小技巧
文章图片
其中参数opacity是设计线条颜色深浅(透明度);curve参数是设计线条弯曲程度的;position参数用于设计图例文字位置 , 这里放置于图形右侧 。
成图如下所示:
Excel函数编程可视化|Excel绘图太麻烦?Python轻松绘制桑基图,可视化小技巧
文章图片
从图形中我们可以看出城市上海通往各区域的人数远远多于北京和杭州市 , 且在东亚地区具有较大优势 , 东南亚区域三城市人数相当 , 中亚、西亚、非洲人数相对较少!
小结根据线条的宽度 , 数据情况一目了然!可以说桑基图是一个不错的可视化图形 , 无繁杂的数据 , 直观、便捷的一款图形 , 推荐给大家!如果觉得有用 , 欢迎关注我 , 定期分享数据小技巧!