ในการสร้างพื้นที่แรเงาตามตรรกะสำหรับเส้นโค้งใน matplotlib เราสามารถทำตามขั้นตอนต่อไปนี้
ขั้นตอน
-
กำหนดขนาดรูปและปรับช่องว่างภายในระหว่างและรอบๆ แผนผังย่อย
-
สร้าง t, s1 และ s2 จุดข้อมูลโดยใช้ numpy
-
สร้างร่างและชุดแผนย่อย
-
พล็อต t และ s1 จุดข้อมูล; เพิ่มเส้นแนวนอนข้ามแกน
-
สร้างคอลเลกชั่นของแถบแนวนอนที่มีขนาด *yrange* ด้วยลำดับของ xranges .
-
เพิ่ม '~.Collection' ไปที่คอลเลกชันของแกน คืน ของสะสม .
-
หากต้องการแสดงรูป ให้ใช้ แสดง() วิธีการ
ตัวอย่าง
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()
ผลลัพธ์
มันจะสร้างผลลัพธ์ต่อไปนี้ -