桑基两个字取自“发明”者的名字
属于流程图的一种,核心在于展示数据的流转
主要由节点、边和流量三要素构成,边越宽代表流量越大
遵循守恒定律,无论怎么流动,开端和末端数据总是一致的
文字太苍白,下面我们用Python来绘制一个具体的实例。
from pyecharts.charts import Sankeyfrom pyecharts import options as optspic = ( Sankey() .add('', #图例名称 nodes, #传入节点数据 linkes, #传入边和流量数据 #设置透明度、弯曲度、颜色 linestyle_opt=opts.LineStyleOpts(opacity = 0.3, curve = 0.5, color = "source"), #标签显示位置 label_opts=opts.LabelOpts(position="right"), #节点之前的距离 node_gap = 30, ) .set_global_opts(title_opts=opts.TitleOpts(title = '熬夜原因桑基图')))pic.render('test.html')
一个回车下去,看看成果: pic = ( Sankey() .add('', nodes, linkes, linestyle_opt=opts.LineStyleOpts(opacity = 0.3, curve = 0.5, color = "source"), label_opts=opts.LabelOpts(position="top"), node_gap = 30, orient="vertical", #更改的是这里 ) .set_global_opts(title_opts=opts.TitleOpts(title = '熬夜原因细分桑基图')))pic.render('test2.html')
pic = ( Sankey() .add('', nodes, linkes, linestyle_opt=opts.LineStyleOpts(opacity = 0.3, curve = 0.5, color = 'source'), label_opts=opts.LabelOpts(position = 'top'), node_gap = 30, ) .set_global_opts(title_opts=opts.TitleOpts(title = '客户购买路径流转图')))pic.render('test3.html')
大功告成,So easy!无论是多少层数据的流转,只要定义好nodes和linkes,就能以不变应万变。 出于试错成本的考量,大部分客户第一次购买的是小规格狗粮。 第一次购买小规格狗粮的客户,流失(第二次未购买)情况严重,且再次购买客户,更倾向于继续选择小规格狗粮尝试,而不是信任性的购买大规格狗粮。 第一次购买大规格狗粮的客户,留存下来的客户已经建立起对品牌的信任感,再次购买大部分选择了大规格狗粮。 购买狗粮的客户第二次复购鲜有尝试玩具的,而第一次购买玩具的客户,也并未建立起对品牌狗粮的兴趣。原本死板的数据,在桑基的装扮之下,变得楚楚动人。 作者: 周志鹏,3年数据分析,深切感受到数据分析的有趣和学习过程中缺少案例的无奈,遂新开公众号「数据不吹牛」,定期更新数据分析相关技巧和有趣案例(含实战数据集),欢迎大家关注交流。 声明:本文为作者投稿,版权归其所有。 【End】 推荐阅读 ☞154 万 AI 开发者用数据告诉你,中国 AI 如何才能弯道超车?| 中国 AI 应用开发者报告☞ 暴风集团仅剩10余人;搜狗告百度输入法侵权案再驳回;Linux 5.6发布 | 极客头条☞2019报告:AI程序员人才需求暴涨35倍!每10个公司就有6个人才缺口
☞大龄程序员都去哪?分享我身边的几个故事
☞Spark3.0发布了,代码拉过来,打个包,跑起来!| 附源码编译
☞业内最大的“空气币”——以太坊???