Matplotlib에서 여러 줄을 채우는 방법
Suraj Joshi
2024년2월15일
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 좌표를 나타냅니다.
작가: Suraj Joshi
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn