Matplotlib에서 여러 줄을 채우는 방법

Suraj Joshi 2024년2월15일
Matplotlib에서 여러 줄을 채우는 방법

matplotlib.pyplot.fill_between() 메서드를 사용하여 Matplotlib에서 여러 줄 사이의 영역을 채울 수 있습니다. fill_between()함수는 한 번에 두 줄 사이의 공간을 채우지 만 한 쌍의 줄을 선택하여 여러 줄 사이의 영역을 채울 수 있습니다.

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(0, 5, 0.02)

y1 = 8 - 4 * x
y2 = 6 - x
y3 = 2 - 2 * x

plt.plot(x, y1, color="red", label="8-4x")
plt.plot(x, y2, color="blue", label="6-x")
plt.plot(x, y3, color="green", label="2-2x")
plt.legend()
plt.show()

출력:

여러 줄 사이의 사전 조건 채우기 Matplotlib

그림에서 다음 조건이 충족되도록 다각형을 채워야합니다.

y <= 8- 4x
y <= 6 - x
y >= 2 - 2x
y >= 0

Matplotlib에서 여러 줄 사이 채우기

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(0, 5, 0.02)

y1 = 2 - 2 * x
y2 = 6 - x
y3 = 8 - 4 * x

y4 = np.minimum(y2, y3)

plt.plot(x, y1, color="red", label="2-2x")
plt.plot(x, y2, color="blue", label="6-x")
plt.plot(x, y3, color="green", label="8-4x")
plt.ylim(0, 10)
plt.fill_between(x, y1, y4, color="yellow")
plt.legend()
plt.show()

출력:

여러 줄 사이 채우기 Matplotlib

위의 조건을 만족시키기 위해 우리는 y 축 제한을0에서10 사이로 설정하여y >= 0을 첫 번째 단계로 설정합니다.

y = 6-xy = 8-4x 선이 서로 교차하므로y <= 8-4xy <= 6-x가 모두 충족되는지 확인하기 위해 minimum()메서드를 사용하여 두 조건을 따르는 점을 선택합니다.

마지막으로 y1y4사이의 영역을 채워 요구 사항에 지정된 다각형 영역을 제공합니다.

또는 영역의 모서리 점 역할을하는 선의 교차점을 찾을 수 있습니다. 꼭지점을 알고 나면matplotlib.pyplot.fill()메서드를 사용하여 다각형을 채울 수 있습니다.

import matplotlib.pyplot as plt

x = [2, 4, 2, 0]
y = [4, 2, 0, 2]

plt.fill(x, y)
plt.show()

출력:

채우기 방법을 사용하여 꼭지점이있는 다각형 플로팅

이 메서드는 모서리 점(2,4),(4,2),(2,0)(0,2)로 다각형을 채 웁니다.

목록 x는 다각형 모서리 점의 x 좌표를 나타내고 y는 다각형 모서리 점의 y 좌표를 나타냅니다.

작가: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

관련 문장 - Matplotlib Lines