Python如何实现漏斗图

发布时间:2021-11-25 14:22:54 作者:小新
来源:亿速云 阅读:362
# Python如何实现漏斗图

## 什么是漏斗图?

漏斗图(Funnel Chart)是一种常用于展示流程转化率的可视化图表,形似倒置的金字塔。它能够直观呈现各阶段的**数量递减关系**,典型应用场景包括:
- 电商用户行为分析(浏览→加购→付款)
- 销售转化漏斗(线索→商机→成交)
- 营销活动效果追踪

## Python实现方案

### 1. 使用Matplotlib基础绘制

```python
import matplotlib.pyplot as plt

def matplotlib_funnel():
    stages = ['曝光', '点击', '加购', '付款']
    values = [10000, 4000, 1500, 800]
    
    fig, ax = plt.subplots(figsize=(10,6))
    for i in range(len(stages)):
        width = values[i] / max(values) * 0.8
        ax.barh(y=len(stages)-i, 
                width=width, 
                height=0.5,
                color='#4BACC6',
                edgecolor='black')
        ax.text(width/2, len(stages)-i, 
               f"{stages[i]}: {values[i]}", 
               ha='center', va='center',
               color='white', fontweight='bold')
    
    ax.set_yticks(range(1, len(stages)+1))
    ax.set_yticklabels(reversed(stages))
    ax.set_title('电商转化漏斗图', pad=20)
    ax.axis('off')
    plt.show()

2. 使用Plotly专业库(推荐)

import plotly.graph_objects as go

def plotly_funnel():
    fig = go.Figure(go.Funnel(
        y = ["曝光", "点击", "加购", "付款"],
        x = [10000, 4000, 1500, 800],
        textposition = "inside",
        textinfo = "value+percent initial",
        opacity = 0.8,
        marker = {"color": ["#005F73", "#0A9396", "#94D2BD", "#E9D8A6"]}
    ))
    
    fig.update_layout(
        title="用户行为转化漏斗",
        funnelmode="stack",
        showlegend=False
    )
    fig.show()

进阶技巧

1. 数据预处理

import pandas as pd

# 计算转化率
df = pd.DataFrame({
    'stage': ['曝光', '点击', '加购', '付款'],
    'count': [10000, 4000, 1500, 800]
})
df['conversion'] = df['count'] / df['count'].shift(1)

2. 样式优化建议

各方案对比

方案 优点 缺点
Matplotlib 无需额外安装 需要手动计算布局
Plotly 交互式/自动计算百分比 需要安装额外库
Pyecharts 支持中文显示良好 文档主要为英文/中文

总结

Python实现漏斗图的核心步骤: 1. 准备数据:各阶段名称及对应数值 2. 选择工具:基础需求用Matplotlib,复杂交互选Plotly 3. 视觉优化:颜色、标签、比例尺调整 4. 添加分析:标注关键转化率节点

对于需要嵌入网页的场景,推荐使用Plotly或Pyecharts;若需生成静态报告,Matplotlib+Seaborn的组合更为轻量。实际项目中建议配合漏斗图添加转化路径的桑基图进行综合分析。 “`

注:实际代码运行时需要安装相应库(pip install matplotlib plotly pandas)。完整项目示例可参考Pyecharts官方文档中的漏斗图案例。

推荐阅读:
  1. python绘制漏斗图步骤详解
  2. Python如何实现GIF图倒放

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

python

上一篇:Python多态怎么理解

下一篇:Python下Selenium PhantomJs设置header的方法是什么

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》