Matplotlib fill_betweenx

Beginner

This tutorial is from open-source community. Access the source code

소개

Matplotlib 는 Python 의 데이터 시각화 라이브러리입니다. 복잡하고 사용자 정의 가능한 플롯, 차트 및 그래프를 생성하기 위한 다양한 도구를 제공합니다. Matplotlib 에서 제공하는 가장 유용한 도구 중 하나는 fill_betweenx 함수입니다. 이 함수는 두 개의 수평 곡선 사이의 영역을 채우는 데 사용됩니다. 이 튜토리얼에서는 fill_betweenx 함수를 살펴보고 다양한 유형의 플롯을 만드는 방법을 배웁니다.

VM 팁

VM 시작이 완료되면 왼쪽 상단을 클릭하여 Notebook 탭으로 전환하여 실습을 위해 Jupyter Notebook에 액세스하십시오.

때로는 Jupyter Notebook 이 로딩을 완료하는 데 몇 초 정도 기다려야 할 수 있습니다. Jupyter Notebook 의 제한으로 인해 작업의 유효성 검사는 자동화될 수 없습니다.

학습 중에 문제가 발생하면 언제든지 Labby 에게 문의하십시오. 세션 후 피드백을 제공해주시면 문제를 즉시 해결해 드리겠습니다.

간단한 fill_betweenx 플롯 그리기

이 단계에서는 fill_betweenx 함수를 사용하여 간단한 플롯을 만드는 방법을 배웁니다. 두 곡선 사이의 영역을 채울 것입니다.

import matplotlib.pyplot as plt
import numpy as np

y = np.arange(0.0, 2, 0.01)
x1 = np.sin(2 * np.pi * y)
x2 = 1.2 * np.sin(4 * np.pi * y)

fig, ax = plt.subplots(figsize=(6, 6))

ax.fill_betweenx(y, x1, x2, color='green', alpha=0.5)
ax.plot(x1, y, color='blue')
ax.plot(x2, y, color='red')

plt.show()

여러 개의 서브플롯 생성

이 단계에서는 여러 개의 서브플롯을 만들고 fill_betweenx 함수를 사용하여 각 서브플롯에서 두 개의 수평 곡선 사이의 영역을 채우는 방법을 배웁니다.

import matplotlib.pyplot as plt
import numpy as np

y = np.arange(0.0, 2, 0.01)
x1 = np.sin(2 * np.pi * y)
x2 = 1.2 * np.sin(4 * np.pi * y)

fig, [ax1, ax2, ax3] = plt.subplots(1, 3, sharey=True, figsize=(12, 4))

ax1.fill_betweenx(y, 0, x1, color='green', alpha=0.5)
ax1.plot(x1, y, color='blue')
ax1.set_title('Fill between (x1, 0)')

ax2.fill_betweenx(y, x1, 1, color='red', alpha=0.5)
ax2.plot(x1, y, color='blue')
ax2.set_title('Fill between (x1, 1)')

ax3.fill_betweenx(y, x1, x2, color='orange', alpha=0.5)
ax3.plot(x1, y, color='blue')
ax3.plot(x2, y, color='red')
ax3.set_title('Fill between (x1, x2)')

plt.show()

논리 조건 사용

이 단계에서는 논리 조건을 사용하여 두 개의 수평 곡선 사이의 영역을 채우는 방법을 배웁니다.

import matplotlib.pyplot as plt
import numpy as np

y = np.arange(0.0, 2, 0.01)
x1 = np.sin(2 * np.pi * y)
x2 = 1.2 * np.sin(4 * np.pi * y)

fig, ax = plt.subplots(figsize=(6, 6))

ax.plot(x1, y, color='black')
ax.plot(x2, y, color='black')

ax.fill_betweenx(y, x1, x2, where=x2 >= x1, facecolor='green', alpha=0.5)
ax.fill_betweenx(y, x1, x2, where=x2 <= x1, facecolor='red', alpha=0.5)

plt.show()

마스크 배열 사용

이 단계에서는 마스크 배열을 사용하여 두 개의 수평 곡선 사이의 영역을 채우는 방법을 배웁니다.

import matplotlib.pyplot as plt
import numpy as np

y = np.arange(0.0, 2, 0.01)
x1 = np.sin(2 * np.pi * y)
x2 = 1.2 * np.sin(4 * np.pi * y)
x2 = np.ma.masked_greater(x2, 1.0)

fig, ax = plt.subplots(figsize=(6, 6))

ax.plot(x1, y, color='black')
ax.plot(x2, y, color='black')

ax.fill_betweenx(y, x1, x2, where=x2 >= x1, facecolor='green', alpha=0.5)
ax.fill_betweenx(y, x1, x2, where=x2 <= x1, facecolor='red', alpha=0.5)

plt.show()

요약

이 튜토리얼에서는 Matplotlib 의 fill_betweenx 함수를 사용하여 두 개의 수평 곡선 사이의 영역을 채우는 방법을 배웠습니다. 또한 여러 개의 서브플롯을 생성하고 논리 조건과 마스크 배열을 사용하여 다양한 유형의 플롯을 만드는 방법도 배웠습니다. fill_betweenx 함수를 사용하면 Python 에서 복잡하고 사용자 정의 가능한 플롯을 만들 수 있습니다.