# 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()
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()
import pandas as pd
# 計算轉化率
df = pd.DataFrame({
'stage': ['曝光', '點擊', '加購', '付款'],
'count': [10000, 4000, 1500, 800]
})
df['conversion'] = df['count'] / df['count'].shift(1)
| 方案 | 優點 | 缺點 |
|---|---|---|
| Matplotlib | 無需額外安裝 | 需要手動計算布局 |
| Plotly | 交互式/自動計算百分比 | 需要安裝額外庫 |
| Pyecharts | 支持中文顯示良好 | 文檔主要為英文/中文 |
Python實現漏斗圖的核心步驟: 1. 準備數據:各階段名稱及對應數值 2. 選擇工具:基礎需求用Matplotlib,復雜交互選Plotly 3. 視覺優化:顏色、標簽、比例尺調整 4. 添加分析:標注關鍵轉化率節點
對于需要嵌入網頁的場景,推薦使用Plotly或Pyecharts;若需生成靜態報告,Matplotlib+Seaborn的組合更為輕量。實際項目中建議配合漏斗圖添加轉化路徑的?;鶊D進行綜合分析。 “`
注:實際代碼運行時需要安裝相應庫(
pip install matplotlib plotly pandas)。完整項目示例可參考Pyecharts官方文檔中的漏斗圖案例。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。