在 matplotlib 中为曲线创建逻辑阴影区域


为 matplotlib 中的曲线创建逻辑阴影区域,我们可以采取以下步骤

步骤

  • 设置图形大小,并调整子图之间和子图周围的填充。

  • 使用 numpy 创建 t、s1s2 数据点。

  • 创建图形和一组子图。

  • 绘制 ts1 数据点;沿轴线添加一条水平线。

  • 创建一系列 xranges,创建跨越 *yrange* 的水平条形图集合。

  • '~.Collection' 添加到轴的集合;返回 集合

  • 使用 Show() 方法显示图形。

示例

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.collections as collections

plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True

t = np.arange(0.0, 2, 0.01)
s1 = np.sin(2 * np.pi * t)
s2 = 1.2 * np.sin(4 * np.pi * t)

fig, ax = plt.subplots()

ax.plot(t, s1, color='black')
ax.axhline(0, color='black', lw=2)

collection = collections.BrokenBarHCollection.span_where(t, ymin=0, ymax=1,
   where=s1 > 0, facecolor='green', alpha=0.5
)
ax.add_collection(collection)

collection = collections.BrokenBarHCollection.span_where( t, ymin=-1, ymax=0,
   where=s1 < 0, facecolor='red', alpha=0.5
)
ax.add_collection(collection)

plt.show()

输出

将产生以下输出 -

更新于: 19-Oct-2021

168 次浏览

开启你的职业生涯

完成课程后获得认证

开始
广告