树状图将层级数据映射为嵌套矩形:

📦 全店销售├─ 📱 电子产品 (45%)│ ├─ 手机 (30%)│ └─ 电脑 (15%)├─ 👕 服装 (30%)│ ├─ 男装 (18%)│ └─ 女装 (12%)└─ 🍎 食品 (25%)├─ 零食 (15%)└─ 饮料 (10%)
分析价值:快速识别主力品类、发现潜力子类、优化库存分配
import plotly.express as pximport pandas as pd# 准备数据df = pd.DataFrame({'大类': ['电子产品', '电子产品', '服装', '服装', '食品', '食品'],'子类': ['手机', '电脑', '男装', '女装', '零食', '饮料'],'销售额': [30000, 20000, 18000, 15000, 12000, 8000],'利润率': [0.25, 0.20, 0.35, 0.30, 0.40, 0.35]})# 计算利润额(可选衍生指标)df['利润额'] = df['销售额'] * df['利润率']# 绘制树状图fig = px.treemap(df,path=['大类', '子类'], # 层级路径:先大类后子类values='销售额', # 矩形面积依据color='利润率', # 颜色映射指标color_continuous_scale='RdYlGn', # 红-黄-绿渐变(低→高)hover_data=['利润额'], # 悬停显示额外信息title='电商品类销售与利润分析',width=900,height=600)# 优化显示fig.update_layout(font=dict(size=11),title_font_size=16,margin=dict(t=50, l=25, r=25, b=25))# 显示/导出fig.show()# fig.write_html("treemap_report.html") # 导出交互式HTML# fig.write_image("treemap.png") # 导出静态图片(需安装kaleido)
合集 | 文章 |
|---|---|