Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

matplotlib에서 곡선에 대한 논리적 음영 영역 만들기

<시간/>

matplotlib에서 곡선에 대한 논리적 음영 영역을 만들기 위해 다음 단계를 수행할 수 있습니다.

단계

  • Figure 크기를 설정하고 서브플롯 사이와 주변의 패딩을 조정합니다.

  • t, s1 만들기 및 s2 numpy를 사용하는 데이터 포인트.

  • Figure와 서브플롯 세트를 생성합니다.

  • 플롯 ts1 데이터 포인트; 축을 가로질러 수평선을 추가합니다.

  • *yrange*에 걸쳐 가로 막대 모음 만들기 xranges 시퀀스 포함 .

  • '~.컬렉션' 추가 축의 컬렉션에; 컬렉션 반환 .

  • 그림을 표시하려면 Show()를 사용하세요. 방법.

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에서 곡선에 대한 논리적 음영 영역 만들기