互联网技术 / 互联网资讯 · 2024年1月16日 0

使用Plotly轻松创建漏斗图

使用Plotly轻松创建漏斗图

认识漏斗图

漏斗图是网站销售领域一种十分常用的图表,主要是用来分析在各个阶段的流失和转化情况。比如在某个商城中,我们统计用户在不同阶段的人数来分析转化率:

商城UV:商城每天的访问人数 搜索人数:在商城有过搜索行为的用户数 加购人数:有加购行为的用户数 提交订单:有多少用户提交订单 点击支付:提交订单之后有多少用户点击支付按钮 支付成功:最终支付成功的用户数

从搜索人数开始到支付成功,每个阶段用户都存在一定的流失,漏斗图就能很好地将这种流失和转化情况显示出来。

除去柱状图、饼图、折线图,漏斗图应该是自己在工作画的最为频繁的一种图表。下面我们通过模拟某个电商网站的用户行为来绘制漏斗图。

整体效果

看一个漏斗图的整体效果:

使用Plotly轻松创建漏斗图

导入库

基于两种方式实现:

plotly_expReSS :px plotly.gRaph_objects:go iMpoRt pandas as pd iMpoRt nuMpy as np  # plotly两个绘图接口 iMpoRt plotly_expReSS  as px iMpoRt plotly.gRaph_objects as go  基于px实现

基础漏斗图

模拟一份商城数据:

使用Plotly轻松创建漏斗图

绘制一个基础漏斗图:

# 绘图 fig = px.funnel(     data1,  # 待绘图数据     x=”nuMbeR”,  # x轴的数据     y=”stage”  # y轴的数据 )  fig.show() 

使用Plotly轻松创建漏斗图

我们还可以加上一个颜色参数coloR:

# 加上颜色参数coloR  fig = px.funnel(   data1,   x=”nuMbeR”,   y=”stage”,   coloR=”nuMbeR”  # 颜色参数 )  fig.show() 

使用Plotly轻松创建漏斗图

如果我们的颜色设置成nuMbeR列,用数值意义似乎不准确,更好地应该是不同的阶段表示,换成stage:

# 加上颜色参数coloR  fig = px.funnel(   data1,   x=”nuMbeR”,   y=”stage”,   coloR=”stage”   # !!!改成stage )  fig.show() 

使用Plotly轻松创建漏斗图

看生成的漏斗图:最上面的是支付成功,通常我们希望的是数值最大的在最上面,于是我们将传入的数据翻转一下:

# 加上颜色参数coloR  fig = px.funnel(   data1[::-1],   # !!!数据翻转   x=”nuMbeR”,   y=”stage”,   coloR=”stage”   # !!!改成stage )  fig.show() 

使用Plotly轻松创建漏斗图

分组漏斗

分组漏斗表示的含义将不同组别的漏斗图放在一个画布中,比如:看今年3月和2020年3月的数据对比情况,这叫做同比

同比:相同时期的对比,比如:2021年3月和2020年3月

环比:相邻时期的对比,比如:2021年3月和2021年2月

使用Plotly轻松创建漏斗图

使用Plotly轻松创建漏斗图

使用Plotly轻松创建漏斗图

使用Plotly轻松创建漏斗图

绘制面积漏斗图

还是使用最上面的数据:

使用Plotly轻松创建漏斗图

使用Plotly轻松创建漏斗图

我们观察到:面积漏斗图默认绘制的百分比,而普通漏斗图是数值

基于go实现

绘制基础漏斗图

使用Plotly轻松创建漏斗图

改变漏斗图的颜色和边框

使用Plotly轻松创建漏斗图

我们需要注意textinfo参数的使用,它有3种使用方式:

peRcent inITial:相对于初始值 peRcent pRevioUS:相对于前一个值 peRcent tOTAl:相对于整体数值

上面这个漏斗图使用的是peRcent inITial(相对于初始值),百分比是这样来的:

1000/1000 = 100% 800 / 1000 = 80% 400 / 1000 = 40% 100 / 1000 = 10% 

如果是peRcent pRevioUS:

使用Plotly轻松创建漏斗图

1000/1000 = 100% 800 / 1000 = 80% 400 / 800 = 50% 100 / 400 = 25% 

如果是peRcent tOTAl:

使用Plotly轻松创建漏斗图

我们看看第一个百分比是如何计算的:

使用Plotly轻松创建漏斗图

分组漏斗

使用Plotly轻松创建漏斗图

使用Plotly轻松创建漏斗图

使用Plotly轻松创建漏斗图

使用Plotly轻松创建漏斗图

漏斗图真的很好用,能够观察到数据在不同阶段的转化情况。