Python可视化工具之Matplotlib(2):多子图与组合图

作者:热心市民鹿先生2024.01.17 22:23浏览量:10

简介:Matplotlib是一个功能强大的Python可视化库,其中多子图和组合图是常用的高级功能。本文将介绍如何使用Matplotlib创建多子图和组合图,以及它们在数据分析和可视化中的应用。

在Matplotlib中,多子图通常用于在同一画布上显示多个相关的图表,以便比较和对比数据。组合图则是将多个图表以某种方式组合在一起,以展示更复杂的数据关系。
多子图
创建多子图的基本步骤如下:

  1. 导入必要的库:
    1. import matplotlib.pyplot as plt
  2. 创建画布和子图:
    1. fig, ax = plt.subplots(nrows=2, ncols=2) # 创建一个2x2的子图网格
  3. 在每个子图上绘制数据:
    1. ax[0, 0].plot([0, 1, 2], [0, 1, 4]) # 在左上角的子图上绘制数据
    2. ax[0, 1].plot([0, 1, 2], [2, 3, 6]) # 在右上角的子图上绘制数据
    3. ax[1, 0].plot([0, 1, 2], [1, 4, 9]) # 在左下角的子图上绘制数据
    4. ax[1, 1].plot([0, 1, 2], [3, 7, 12]) # 在右下角的子图上绘制数据
  4. 设置每个子图的标题和标签:
    1. ax[0, 0].set_title('左上角') # 设置左上角子图的标题
    2. ax[0, 0].set_xlabel('X轴标签') # 设置左上角子图的X轴标签
    3. ax[0, 0].set_ylabel('Y轴标签') # 设置左上角子图的Y轴标签
  5. 显示图表:
    1. plt.show() # 显示图表
    通过以上步骤,您可以在同一画布上创建多个相关的图表,以便更好地比较和解释数据。
    组合图
    组合图是一种更高级的可视化技术,用于展示多个变量之间的关系。下面是一个简单的组合图示例:
  6. 导入必要的库:
    1. import matplotlib.pyplot as plt
    2. import numpy as np
  7. 创建数据:
    1. data = np.random.rand(10, 4) # 创建一个包含10行4列的随机数据矩阵
    2. x = np.linspace(0, 10, num=10) # 创建一个从0到10的线性空间,包含10个点
    3. y = np.sin(x) # 对每个点计算正弦值
  8. 创建组合图:
    ```python
    p.random.seed(0) # 设置随机种子以确保结果可复现
    x_new = np.linspace(0, 10, num=500) # 创建一个更细的线性空间,用于生成平滑曲线
    y_new = np.sin(x_new) # 对每个点计算正弦值,用于生成平滑曲线
    data_smoothed = np.interp(x_new, x, y) # 使用插值方法生成平滑曲线的数据点集合
    p.random.seed(0) # 设置随机种子以确保结果可复现
    y_rand = np.random.rand(10) # 创建一个包含10个随机数的数组,用于生成随机散点图的数据点集合
    data_scatter = np.interp(x_new, x, y_rand) # 使用插值方法生成散点图的数据点集合(注意:这里使用插值方法是为了使散点图与平滑曲线共享相同的x轴刻度)
    p.random.seed(0) # 设置随机种子以确保结果可复现
    y_line = np.random.randint(0, 2, size=10) # 创建一个包含10个随机整数的数组,用于生成线型图的标记数据点集合(这里