在使用matplotlib绘图的过程中,有时会有将多个不同的图绘制在不同坐标轴上的需求,这个时候就要借助subplots方法来实现。
如果我们想要将上海和北京的天气图显示在同一个图的不同坐标系当中,显示的效果如下图所示:

实现的代码如下,注意点已经在注释中标明:
from matplotlib import pyplot as plt
import random
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei'] # 显示中文
# 0.准备数据
x = range(60)
y_shanghai = [random.uniform(15, 18) for i in x]
y_beijing = [random.uniform(1, 5) for i in x]
# 1.创建画布
# plt.figure(figsize=(20, 8), dpi=100)
fig, axes = plt.subplots(nrows=1, ncols=2, figsize=(20, 8), dpi=100) # 代表的是一行两列的画布
# 2.绘制图像
# plt.plot(x, y_shanghai, label="上海")
# plt.plot(x, y_beijing, color="r", linestyle="--", label="北京")
axes[0].plot(x, y_shanghai, label="上海")
axes[1].plot(x, y_beijing, color="r", linestyle="--", label="北京")
# 2.1 添加x,y轴刻度
# 构造x,y轴刻度标签
x_ticks_label = ["11点{}分".format(i) for i in x]
y_ticks = ran

本文详细介绍如何使用Matplotlib的subplots方法在同一画布上创建两个独立坐标系的子图,展示上海和北京的天气数据变化。从数据准备到图像保存,逐步解析代码实现过程,包括设置字体、调整刻度、添加网格、描述信息、图例及图像显示等关键步骤。
最低0.47元/天 解锁文章
497





