Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Tạo vùng tô bóng hợp lý cho đường cong trong Matplotlib

Để tạo vùng tô bóng hợp lý cho một đường cong trong Matplotlib, bạn có thể thực hiện theo các bước sau:

Các bước thực hiện

  • Thiết lập kích thước hình vẽ và điều chỉnh khoảng cách giữa các subplot.
  • Tạo các điểm dữ liệu t, s1 và s2 bằng NumPy.
  • Tạo một figure và một tập hợp các subplot.
  • Vẽ đường cong với dữ liệu t và s1; thêm một đường ngang qua trục tọa độ.
  • Tạo một tập hợp các thanh ngang trải dài theo yrange với một chuỗi xranges.
  • Thêm Collection vào các collection của axes; trả về collection.
  • Sử dụng phương thức show() để hiển thị hình vẽ.

Ví dụ minh họa

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()

Kết quả đầu ra

Chương trình sẽ tạo ra biểu đồ với các vùng tô bóng xanh lá (khi s1 > 0) và đỏ (khi s1 < 0) dưới đường cong sin.