Matplotlib - 填充图
填充图,也称为填充区域图或面积图,是一种用于视觉化表示数据的图表类型。在填充图中,数据线与 x 轴或其他参考线之间的区域会填充颜色或图案。
想象一下,你正在跟踪城市一个月内的每日温度波动。你可以创建一个填充图来可视化每天的温度范围。x 轴表示月份的日期,y 轴表示摄氏度的温度。每天的温度范围由填充区域表示,最高温度和最低温度之间的区域填充颜色 −
Matplotlib 中的填充图
Matplotlib 中的填充图就像在图表上给线条之间着色一样。它不仅仅显示点或线,还会用颜色填充这些点或线之间的区域。这有助于更清晰地看出数据的形状。
我们可以使用 'pyplot' 模块中的 fill_between() function 来在 Matplotlib 中创建填充图。该函数接受 X 和 Y 坐标作为数组,并在 2D 空间中曲线包围的区域填充特定颜色。
让我们开始绘制一个基本的填充图。
示例 - 基本填充图
Matplotlib 中的基本填充图是一种可视化,其中连接数据点的线条下方的区域填充颜色。这种图表有助于更轻松地视觉化解释数据并识别模式或趋势。
在下面的示例中,我们正在创建一个填充线图。我们生成从 0 到 10 的 x 轴值,然后通过取每个 x 轴值的正弦值计算对应的 y 轴值。接下来,我们填充线条下方和 x 轴上方的区域,结果是一个填充线图 −
import matplotlib.pyplot as plt
import numpy as np
# 创建示例数据
x = np.linspace(0, 10, 100)
y = np.sin(x)
# 创建填充线图
plt.fill_between(x, y, color='skyblue', alpha=0.4, label='Filled Line')
# 添加标签和标题
plt.xlabel('X轴')
plt.ylabel('Y轴')
plt.title('基本填充图')
# 显示图表
plt.show()
输出
以上代码的输出如下 −
示例 - 两条线之间的填充图
Matplotlib 中两条线之间的填充图指的是在图表上两条线之间的区域着色。这两条线穿越 XY 平面,它们形成的封闭区域会被填充颜色。
在这里,我们在 XY 平面中创建两条线之间的填充图。两条线 'Y1' 和 'Y2' 分别通过取 x 轴值的正弦值和余弦值计算。然后,我们填充两条线包围的区域,创建两条线之间的填充图 −
import matplotlib.pyplot as plt
import numpy as np
# 创建示例数据
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
# 创建两条线之间的填充图
plt.fill_between(x, y1, y2, color='lightgreen', alpha=0.4, label='Filled Between Lines')
# 添加标签和标题
plt.xlabel('X轴')
plt.ylabel('Y轴')
plt.title('两条线之间的填充图')
# 显示图表
plt.show()
输出
以上代码的输出如下 −
示例 - 垂直线之间的填充图
在这里,我们创建两条垂直线之间的填充图。我们使用 axvspan() function 在轴上添加垂直跨度(矩形)。这个矩形在水平方向从 xmin 到 xmax 延伸,默认在垂直方向覆盖整个 Y 轴 −
import matplotlib.pyplot as plt fig, ax = plt.subplots() line1 = 3 # 垂直线 x = 3 line2 = 5 # 垂直线 x = 5 ax.axvspan(line1, line2, alpha=.5, color='green') plt.show()
输出
输出结果如下 −

示例 - 填充极区面积图
在 Matplotlib 中,填充极区面积图是一种可视化形式,其中曲线包围的区域用颜色填充。该曲线在极坐标系中创建,这意味着数据点的位置由半径和角度决定,而不是 X 和 Y 坐标。
以下示例生成一个填充极区面积图。数据点的坐标由角度(theta)定义,从 0 到 2,以及曲线的半径(r),它随角度的余弦变化。曲线下的区域用颜色填充。在结果图中,曲线下的极区面积被填充 −
import matplotlib.pyplot as plt
import numpy as np
# 为极坐标图创建示例数据
theta = np.linspace(0, 2 * np.pi, 100)
r = 3 + 2 * np.cos(6 * theta)
# 创建填充极区面积图
plt.fill_between(theta, r, color='purple', alpha=0.5, label='Filled Polar Area Plot')
# 添加标题
plt.title('Filled Polar Area Plot')
# 显示图形
plt.show()
输出
执行上述代码后,我们得到以下输出 −
示例 - 来自不规则数据的填充图
在 Matplotlib 中,来自不规则数据的填充图是一种在图表上表示彩色区域的方式,其中数据点分布不规则。这些点与 x 轴包围的区域用颜色填充。
现在,我们使用图表上不规则分布的数据点创建一条曲线,并填充曲线下的图。我们使用 x 轴和 y 轴的数组定义数据点。这些点包围的区域用颜色填充 −
import matplotlib.pyplot as plt
import numpy as np
# 创建不规则数据点
x = np.array([1, 2, 3, 4, 5, 4, 3, 2, 1])
y = np.array([0, 1, 0, 1, 0, -1, 0, -1, 0])
# 绘制不规则数据点
plt.plot(x, y, color='blue', label='Irregular Data Points', marker='o')
# 在曲线与 x 轴之间创建填充多边形
plt.fill_between(x, y, color='lightgreen', alpha=0.5, label='Filled Plot from Irregular Data')
# 添加标签和标题
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.title('Filled Plot from Irregular Data')
# 显示图形
plt.show()
输出
得到的输出如下所示 −
