Matplotlib에서 여러 줄을 채우는 방법
Suraj Joshi
2024년2월15일
Matplotlib
Matplotlib Lines
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()
출력:

그림에서 다음 조건이 충족되도록 다각형을 채워야합니다.
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()
출력:

위의 조건을 만족시키기 위해 우리는 y 축 제한을0에서10 사이로 설정하여y >= 0을 첫 번째 단계로 설정합니다.
y = 6-x 및y = 8-4x 선이 서로 교차하므로y <= 8-4x 및y <= 6-x가 모두 충족되는지 확인하기 위해 minimum()메서드를 사용하여 두 조건을 따르는 점을 선택합니다.
마지막으로 y1과 y4사이의 영역을 채워 요구 사항에 지정된 다각형 영역을 제공합니다.
또는 영역의 모서리 점 역할을하는 선의 교차점을 찾을 수 있습니다. 꼭지점을 알고 나면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 좌표를 나타냅니다.
튜토리얼이 마음에 드시나요? DelftStack을 구독하세요 YouTube에서 저희가 더 많은 고품질 비디오 가이드를 제작할 수 있도록 지원해주세요. 구독하다
작가: Suraj Joshi
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn