matplotlib 그래프 영역 채우기
- Python/그래프 그리기
- 2021. 4. 15.
반응형
반응형
그래프 영역을 채우는 방법을 소개합니다.
- fill_between()
- fill_betweenx()
- fill
세가지 함수로 실행할 수 있는데요.
범위를 정해주면 그 범위에 맞게 그려주게 됩니다.
x축을 기준으로 한다면 fill_between()을 y축을 기준으로 한다면 fill_betweenx()을 하고
fill은 임의의 영역을 채울 때 사용합니다.
사용예제를 보겠습니다.
fill_between()
fill_between()은 x축에서 제가 정한 범위까지 영역이 채워집니다.
리스트로 x,y가 이루어져 있으므로 인덱싱으로 범위를 표시하면 됩니다.
import matplotlib.pyplot as plt
x = [1,2,3,4,5]
y = [2,4,6,8,10]
plt.plot(x,y)
plt.fill_between(x[1:3],y[1:3],alpha=0.5) # alpha : 투명도
plt.show()
fill_betweenx()
fill_betweenx()을 사용하면 y축을 기준으로 영역이 채워집니다.
fill_between의 축이 바뀐다 생각하면 됩니다.
그러니 파라미터 순서도 다르게 해야합니다.
y값을 먼저 넣고 x값을 나중에 넣습니다.
plt.plot(x,y)
plt.fill_betweenx(y[1:3],x[1:3],alpha=0.5)
plt.show()
fill
fill()을 사용하면 임의의 영역을 채울 수 있습니다.
x = [1,2,3,4,5]
z = [3,6,9,12,15]
plt.plot(x,z)
plt.fill([1,1,3,3],[2.5,4,10,7],color = 'blue',alpha=0.5)
plt.show()
plt.fill의 파라미터에서 먼저 x값 리스트를 다음은 y값 리스트입니다.
좌표로 보면 (1,2.5) ,(1,4), (3,10),(3,7)을 꼭지점으로 한 영역을 채우게 됩니다.
두 그래프 사이 영역
번외로 두 그래프 사이의 영역을 채워보겠습니다.
fill_between을 사용하면 되고 변수가 하나 더 추가됩니다.
x = [1,2,3,4,5]
y = [2,4,6,8,10]
z = [3,6,9,12,15]
plt.plot(x,y)
plt.plot(x,z)
plt.fill_between(x[1:3],y[1:3],z[1:3],color = 'blue')
plt.show()
범위를 하나씩 나열하는 방식으로 접근하시면 편하게 하실 수 있을겁니다.
관련 포스팅
'Python > 그래프 그리기' 카테고리의 다른 글
[matplotlib]여러개로 나누어서 그래프 출력(subplot) (0) | 2021.05.14 |
---|---|
[matplotlib]n차원 데이터 그리기 (0) | 2021.05.13 |
[matplotlib]plt 라벨(label) 위치설정 (0) | 2021.03.28 |
[matplotlib]pyplot.text(글자 쓰기) (0) | 2021.03.24 |
[Python] matplotlib 에서 한글 출력 (4) | 2021.03.02 |