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

使用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玩转漏斗图

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

 

OpenMagic API

Need more than content? Move into the product flow.

If you are here for model access, pricing, developer docs, or the future API console, the dedicated product path now lives on api.openmagic.ai.

登录免费注册