Matplotlib子图技术

交互式数据可视化教程与示例

固定区域子图

学习如何使用subplot和subplots函数创建固定排列的子图布局

了解更多

自定义区域子图

掌握subplot2grid函数创建自定义大小和位置的子图

了解更多

共享坐标轴

学习如何共享相邻或非相邻子图的坐标轴以进行比较分析

了解更多

子图布局

探索约束布局、紧密布局和自定义布局技术

了解更多

固定区域子图

使用subplot和subplots函数创建固定排列的子图布局,适用于规则的多图表展示。

单子图绘制

使用subplot函数在固定位置创建单个子图。

# 在3×2矩阵区域的第6个位置绘制子图
plt.subplot(3, 2, 6)

# 在3×1矩阵区域的第2个位置绘制子图
plt.subplot(3, 1, 2)

要点说明

  • subplot函数接受三个参数:行数、列数和索引
  • 索引从1开始,从左到右,从上到下
  • 适用于需要在特定位置创建单个子图的场景

实例:某工厂产品A与产品B去年的销售额分析

通过折线图和饼图组合分析销售数据。

交互控制

显示月份标签

技术要点

  • 使用中文显示配置:plt.rcParams['font.sans-serif']
  • 折线图添加数据标签
  • 多子图组合(折线图+饼图)
  • 使用tight_layout()调整子图间距

多子图绘制

使用subplots函数一次创建多个子图。

# 创建2×2的等分子图网格
fig, axes = plt.subplots(2, 2)

# 通过数组索引访问特定子图
axes[0, 0].plot(x, y1)  # 左上角子图
axes[0, 1].plot(x, y2)  # 右上角子图
axes[1, 0].plot(x, y3)  # 左下角子图
axes[1, 1].plot(x, y4)  # 右下角子图

要点说明

  • subplots函数返回图形对象和子图数组
  • 可以通过数组索引访问特定子图
  • 适用于创建规则的多子图布局

实例:部分国家养猫与养狗人群比例分析

通过水平条形图比较不同国家的宠物饲养比例。

数据筛选

技术要点

  • 水平条形图绘制
  • 自定义函数添加数据标签
  • 并排子图布局
  • 颜色设置和图表美化

自定义区域子图

使用subplot2grid函数创建自定义大小和位置的子图,实现更灵活的布局设计。

要点说明

  • subplot2grid接受四个主要参数:网格形状、起始位置、跨行数、跨列数
  • 可以通过rowspan和colspan创建跨行跨列的子图
  • 适用于不规则布局设计

共享子图的坐标轴

学习如何共享相邻或非相邻子图的坐标轴,以便于数据比较和分析。

要点说明

  • sharex='col'共享列间x轴
  • sharey='row'共享行间y轴
  • 共享坐标轴有助于比较不同数据集的范围和趋势

子图的布局

探索约束布局、紧密布局和自定义布局技术,创建美观且实用的子图排列。

要点说明

  • 约束布局自动处理子图间重叠问题
  • 适用于有复杂标签和标题的子图布局
  • 减少手动调整间距的需要