Để 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 và 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ụ.
-
Lô t và 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 -