比例数据可视化--绘制板块层级图

一、引言与实验原理

板块层级图(treemap)是一种基于面积的可视化方式,通过每一个板块(通常为矩形)的尺寸大小进行度量。外部矩形代表父类别,而内部矩形代表子类别。
我们也可以通过板块层级图简单的呈现比例关系,不过它更擅于呈现树状结构的数据。
读取绘图所用的数据,并对数据进行处理将数据处理成我们可以使用的形式,绘制板块层级图,设置标签和标题

二、实验目的与实验环境

  1. 掌握数据文件读取
  2. 掌握数据处理的方法
  3. 实现板块层级图的绘制
  4. 检查实验环境:
    OS:win10
    python:v3.6

三、实验步骤

安装实验所需包

一、安装pandas、matplotlib、seaborn、squarify

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、读取数据
在这里我们使用pandas库中的read_csv函数来读取这3个数据文件
在这里插入图片描述
对前几行的数据进行读取
在这里插入图片描述
三、数据处理
我们需要根据源表对目标表进行匹配查询,使用 merge 函数进行操作
在这里插入图片描述
进行匹配操作后的数据:
在这里插入图片描述
在这里插入图片描述

四、绘制板块层级图
绘制初始的板块层级图
在这里插入图片描述

设置 x、y 轴的属性:
添加图表标题,添加数据标签
在这里插入图片描述
在这里插入图片描述

板块层级图效果如下

在这里插入图片描述


四、代码知识点总结

  1. 库的导入与配置

    • 数据操作:pandas用于数据操作,seaborn增强可视化效果
    • 可视化:matplotlib基础绘图,squarify绘制树形图
    • 中文支持:通过 rcParams 配置中文字体和符号显示
  2. 数据加载与合并

    • 使用 pd.read_csv() 加载CSV数据
    • 多表关联:通过 pd.merge() 实现左连接(how='left'
  3. 数据预处理

    • 列选择:temp = order_products_prior_df[['col1', 'col2']]
    • 聚合统计:groupby() 结合 nunique() 计算唯一值数量
    • 数据拼接:pd.concat() 横向合并聚合结果
  4. 数据排序与索引设置

    • set_index() 设置索引列
    • sort_values() 按指定列降序排序
  5. 可视化配置

    • 颜色映射:使用 matplotlib.cm.viridis 颜色方案
    • 归一化处理:Normalize() 将数据映射到颜色区间
    • 标签生成:通过 f-stringzip() 动态生成多行标签
  6. 树形图绘制

    • 使用 squarify.plot() 绘制板块层级图
    • 参数控制:alpha 调整透明度,aspect="equal" 保持比例
    • 隐藏坐标轴:set_xticks([])set_yticks([])
  7. 颜色条与标注

    • 通过伪图像 (imshow) 添加颜色条 (colorbar)
    • fig.text() 添加颜色条标题
  8. 图形优化

    • plt.tight_layout() 自动调整子图布局
    • fig.suptitle() 设置主标题位置

分步代码解析

# 1. 库导入与配置
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
im
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值