背景
最近因为工作需要,需要画一些漏斗图、成交路径的图之类的,然后我就想到了桑基图(sankey diagram)。这个图现在绘制很简单,可以有以下几个方法:
1. 使用R语言画,比如R语言的networkD3、plotly包,可以画非常漂亮的sankey diagram图,使用起来也很方便,但是我不想用,因为我不想从python到R相互转化,变量之间的传递太麻烦了,虽然现在的jupyter notebook可以配置,让R和python共享变量。但是我个人感觉不够优雅。
参考链接有:https://www.r-graph-gallery.com/321-introduction-to-interactive-sankey-diagram-2.html
2. python的matplotlib也可以画,但是matplotlib画的图很难交互,做静态展示还是非常可以的,但是交互起来非常麻烦,尤其是涉及到sankey diagram这样的,要展示的指标非常多。所以说使用matplotlib就不方便。我也选择放弃。
参考链接有:https://matplotlib.org/stable/api/sankey_api.html
3. python的pyecharts、plotly包也可以画。但是plotly的图总是感觉不够中国化,不够本土,然后就没有选择plotly。pyecharts图也还行,就是学习起来感觉有点麻烦,要配置的东西太多,每次要导入几行代码,也不够优雅,更加致命的是pyecharts画出来的图没有官方的echarts图好看。
参考链接有:

博主因工作需要制作桑基图,对比了R语言、matplotlib和pyecharts等工具,但都不满意。于是决定自己用Python结合JavaScript的ECharts包创建一个脚本,实现数据处理、生成HTML文件以及交互式桑基图展示。该脚本只需几行代码就能将数据转化为美观且交互的桑基图,详细步骤包括数据处理、创建SanKey对象、保存到HTML文件。源代码已上传至GitHub。
最低0.47元/天 解锁文章
&spm=1001.2101.3001.5002&articleId=119678021&d=1&t=3&u=2ebff2aa55b14efab6cf019e4f2066da)
1616





