Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

สร้างพื้นที่แรเงาตามตรรกะสำหรับเส้นโค้งใน matplotlib


ในการสร้างพื้นที่แรเงาตามตรรกะสำหรับเส้นโค้งใน 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()

ผลลัพธ์

มันจะสร้างผลลัพธ์ต่อไปนี้ -

สร้างพื้นที่แรเงาตามตรรกะสำหรับเส้นโค้งใน matplotlib