Computer >> Máy Tính >  >> Lập trình >> Python

Tạo vùng tô bóng một cách hợp lý cho một đường cong trong matplotlib

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

Các bước

  • Đặt kích thước hình và điều chỉnh phần đệm giữa và xung quanh các ô con.

  • Tạo t, s1 s2 điểm dữ liệu bằng cách sử dụng numpy.

  • Tạo một hình và một tập hợp các ô phụ.

  • t s1 điểm dữ liệu; thêm một đường ngang qua trục.

  • Tạo một bộ sưu tập các thanh ngang trải dài * yrange * với một chuỗi xranges .

  • Thêm '~. Bộ sưu tập' đến bộ sưu tập của các trục; trả lại bộ sưu tập .

  • Để hiển thị hình này, hãy sử dụng Show () phương pháp.

Ví dụ

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

Đầu ra

Nó sẽ tạo ra kết quả sau -

Tạo vùng tô bóng một cách hợp lý cho một đường cong trong matplotlib