Python实现漏斗图的绘制

Python实现漏斗图的绘制

说明:代码运行环境为 Win10+Python3+jupyter notebook

Python绘制漏斗图主要用到的是pyecharts包,所以要保证电脑上已经安装了pyecharts包。

漏斗图简介:

漏斗图常用于用户行为的转化率分析,例如用漏斗图分析用户购买流程中各个环节的转化率。但是单一的漏斗图反映的数据过于单一,无法比较,也就失去了分析的意义。对于用户购买流程,我们通过把流程优化前后的漏斗图放在一起,进行比较分析,得出相关结论。而本文只谈利用pyecharts包实现漏斗图的绘制,不涉及具体分析。

漏斗图绘制示例:

from pyecharts import Funnel  # 从pyecharts包中导出创建漏斗图的函数
import pandas as pd

# 导入创建漏斗图所需要的数据
data = pd.read_excel('examples/funnel.xls','Sheet1')

data的表结构如下图所示:

(数据来源:《谁说菜鸟不会数据分析·入门篇》)

attr = data.环节
values = data.总体转化率
funnel1=Funnel('总体转化漏斗图',title_pos='center')
funnel1.add(name='环节',  # 指定图例名称
           attr=attr,     # 指定属性名称
           value=values,  # 指定属性所对应的值
           is_label_show=True, # 确认显示标签
           label_formatter='{c}*100'+'%',  # 指定标签显示的方式

           # pyecharts包的文档中指出,当label_formatter='{d}'时,标签以百分比的形式显示.
           # 但我这样做的时候,发现显示的百分比与原始数据对应不上,只好用上面那种显示形式

           label_pos='inside',  # 指定标签的位置
           legend_orient='vertical',  # 指定图例显示的方向
           legend_pos='right')   # 指定图例的位置

funnel1.render()
funnel1

上述代码绘制的图形为:

用户购买流程优化后的漏斗图:

attr = data.环节
# 假设产品部门对用户购买流程进行了优化改进,
# 使得支付订单的整体转化率由0.2增加到了0.25,
# 完成交易的整体转化率由0.17增加到了0.2
values = [1.00,0.40,0.30,0.25,0.20]

# 绘制交易流程优化后的转化漏斗图
funnel2 = Funnel('优化后的总体转化漏斗图',title_pos='center',width=1000,height=500)
funnel2.add(name='环节',
           attr=attr,
           value=values,
           is_label_show=True,
           label_formatter='{c}*100'+'%',
           label_pos='inside',
           legend_orient='vertical',
           legend_pos='right')

funnel2.render()
funnel2

上述代码绘制的图形为:

参考资料:

http://pyecharts.org/#/zh-cn/charts_base

《网站分析实战》——王彦平、吴盛峰

PS:本文为博主原创文章,转载请注明出处。

猜你喜欢

转载自blog.csdn.net/qq_41080850/article/details/83933017