如何用Python数据可视化来分析用户留存率
发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,如何用Python数据可视化来分析用户留存率,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。关于"漏斗图"漏斗图常用于用户
千家信息网最后更新 2026年11月04日如何用Python数据可视化来分析用户留存率关于"漏斗图"
如何用Python数据可视化来分析用户留存率,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
关于"漏斗图"
漏斗图常用于用户行为的转化率分析,例如通过漏斗图来分析用户购买流程中各个环节的转化率。当然在整个分析过程当中,我们会把流程优化前后的漏斗图放在一起,进行比较分析,得出相关的结论,今天小编就用"matplotlib"、"plotly"以及"pyecharts"这几个模块来为大家演示一下怎么画出好看的漏斗图首先我们先要导入需要用到的模块以及数据,
import matplotlib.pyplot as plt import pandas as pd df = pd.DataFrame({"环节": ["环节一", "环节二", "环节三", "环节四", "环节五"], "人数": [1000, 600, 400, 250, 100], "总体转化率": [1.00, 0.60, 0.40, 0.25, 0.1]})需要用到的数据如下图所示:
用matplotlib来制作漏斗图,制作出来的效果可能会稍显简单与粗糙,制作的原理也比较简单,先绘制出水平方向的直方图,然后利用plot.barh()当中的"left"参数将直方图向左移,便能出来类似于漏斗图的模样
y = [5,4,3,2,1] x = [85,75,58,43,23] x_max = 100 x_min = 0 for idx, val in enumerate(x): plt.barh(y[idx], x[idx], left = idx+5) plt.xlim(x_min, x_max)
而要绘制出我们想要的想要的漏斗图的模样,代码示例如下
from matplotlib import font_manager as fm # funnel chart y = [5,4,3,2,1] labels = df["环节"].tolist() x = df["人数"].tolist() x_range = 100 font = fm.FontProperties(fname="KAITI.ttf") fig, ax = plt.subplots(1, figsize=(12,6)) for idx, val in enumerate(x): left = (x_range - val)/2 plt.barh(y[idx], x[idx], left = left, color='#808B96', height=.8, edgecolor='black') # label plt.text(50, y[idx]+0.1, labels[idx], ha='center', fontproperties=font, fontsize=16, color='#2A2A2A') # value plt.text(50, y[idx]-0.3, x[idx], ha='center', fontproperties=font, fontsize=16, color='#2A2A2A') if idx != len(x)-1: next_left = (x_range - x[idx+1])/2 shadow_x = [left, next_left, 100-next_left, 100-left, left] shadow_y = [y[idx]-0.4, y[idx+1]+0.4, y[idx+1]+0.4, y[idx]-0.4, y[idx]-0.4] plt.plot(shadow_x, shadow_y) plt.xlim(x_min, x_max) plt.axis('off') plt.title('每个环节的流失率', fontproperties=font, loc='center', fontsize=24, color='#2A2A2A') plt.show()绘制出来的漏斗图如下图所示
当然我们用plotly来绘制的话则会更加的简单一些,代码示例如下
import plotly.express as px data = dict(values=[80,73,58,42,23], labels=['环节一', '环节二', '环节三', '环节四', '环节五']) fig = px.funnel(data, y='labels', x='values') fig.show()
最后我们用pyecharts模块来绘制一下,当中有专门用来绘制"漏斗图"的方法,我们只需要调用即可
from pyecharts.charts import Funnel from pyecharts import options as opts from pyecharts.globals import ThemeType c = ( Funnel(init_opts=opts.InitOpts(width="900px", height="600px",theme = ThemeType.INFOGRAPHIC )) .add( "环节", df[["环节","总体转化率"]].values, sort_="descending", label_opts=opts.LabelOpts(position="inside"), ) .set_global_opts(title_opts=opts.TitleOpts(title="Pyecharts漏斗图", pos_bottom = "90%", pos_left = "center")) ) c.render_notebook()
我们将数据标注上去之后
c = ( Funnel(init_opts=opts.InitOpts(width="900px", height="600px",theme = ThemeType.INFOGRAPHIC )) .add( "商品", df[["环节","总体转化率"]].values, sort_="descending", label_opts=opts.LabelOpts(position="inside"), ) .set_global_opts(title_opts=opts.TitleOpts(title="Pyecharts漏斗图", pos_bottom = "90%", pos_left = "center")) .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}:{c}")) ) c.render_notebook()看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。
环节
漏斗
分析
转化率
数据
用户
总体
模块
制作
人数
代码
模样
流程
直方图
示例
帮助
可视化
好看
清楚
粗糙
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网新科技
新华互联网科技
科技与互联网
紫鲸互联网科技
互联网科技公司的市场部门
西藏七维空间互联网科技有限公司
中盈科技互联网信息有限公司
阿里巴巴算科技企业还是互联网
随着互联网科技发展
互联网金融科技公司干啥的
天津腾达互联网科技有限公司
中国互联网公司排名锤子科技
长沙互联网科技
互联网科技圈年度人物
国大互联网教育科技有限公司薪资
产业互联网科技服务公司
美国互联网科技公司
张召忠谈中国互联网科技
领航科技大厦互联网公司
中国互联网公司的科技投入
南京欣网互联网络科技
互联网科技工作委员会
互联网科技ppt模板
互联网科技宣传片
海南购全球互联网科技
厦门千工互联网科技有限公司
江阴互联网智能科技产品进口
互联网科技圈年度人物
黑云互联网科技有限公司
工业互联网科技成果转化