설명서 의 예제 를 살펴 matplotlib
보았지만 두 개의 특정 수직선 사이의 영역을 채우는 플롯을 만드는 방법이 명확하지 않았습니다.
예를 들어, ( 플롯 의 전체 범위에 대해) x=0.2
와 사이에 플롯을 만들고 싶다고 가정합니다 . 내가 사용 하는가 , 또는 ?x=4
y
fill_between
fill
fill_betweenx
where
이 조건을 사용할 수 있습니까 ?
설명서 의 예제 를 살펴 matplotlib
보았지만 두 개의 특정 수직선 사이의 영역을 채우는 플롯을 만드는 방법이 명확하지 않았습니다.
예를 들어, ( 플롯 의 전체 범위에 대해) x=0.2
와 사이에 플롯을 만들고 싶다고 가정합니다 . 내가 사용 하는가 , 또는 ?x=4
y
fill_between
fill
fill_betweenx
where
이 조건을 사용할 수 있습니까 ?
답변:
axvspan
함수 사이의 채우기 중 하나가 아닌 원하는 것처럼 들립니다 . 차이점은 axvspan
(및 axhspan
)이 확대 / 축소 방법에 관계없이 플롯의 전체 y (또는 x) 범위를 채운다는 것입니다.
예를 들어 axvspan
8과 14 사이의 x 영역을 강조 표시하는 데 사용하겠습니다 .
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.plot(range(20))
ax.axvspan(8, 14, alpha=0.5, color='red')
plt.show()
fill_betweenx
이 작업을 수행 하는 데 사용할 수 있지만 사각형의 범위 (x 및 y 모두)는 데이터 좌표에 있습니다. 를 사용 axvspan
하면 직사각형의 y 범위는 기본적으로 0과 1로 설정되며 좌표축 좌표 (즉, 플롯 높이의 백분율)에 있습니다.
이를 설명하기 위해 직사각형을 높이의 10 %에서 90 %까지 확장 해 보겠습니다 (전체 범위를 차지하는 대신). 확대 / 축소 또는 이동을 시도하고 y 범위는 디스플레이 공간에서 고정 된 것으로 표시되고 x 범위는 확대 / 축소 / 이동과 함께 이동합니다.
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.plot(range(20))
ax.axvspan(8, 14, ymin=0.1, ymax=0.9, alpha=0.5, color='red')
plt.show()
fill_between
이상은 "위글", 수직선은 한 번 봐 가지고transform
매개 변수 (그리고 이 답 )