matplotlib의 세로 및 가로 선
지정된 제한에서 가로 및 세로 선을 만들 수없는 이유를 잘 모르겠습니다. 이 상자로 데이터를 묶고 싶습니다. 그러나 측면이 내 지침을 준수하지 않는 것 같습니다. 왜 이런거야?
# CREATING A BOUNDING BOX
# BOTTOM HORIZONTAL
plt.axhline(y=.4, xmin=0.25, xmax=0.402, linewidth=2, color = 'k')
# RIGHT VERTICAL
plt.axvline(x=0.402, ymin=0.4, ymax = 0.615, linewidth=2, color='k')
# LEFT VERTICAL
plt.axvline(x=0.1, ymin=0.58, ymax = 0.79, linewidth=2, color='k')
plt.show()
pyplot 함수는 호출된다 axhline()
와 axvline()
관계없이 좌표의 축 범위의 일부에 걸쳐 선을 그릴. 파라미터 xmin
또는 ymin
값 0.0을 축의 최소값으로, 1.0을 축의 최대 값으로 사용합니다.
대신 plt.plot((x1, x2), (y1, y2), 'k-')
색상 k의 점 (x1, y1)에서 점 (x2, y2)까지 선을 그리는 데 사용 하십시오. 참조하십시오 pyplot.plot
.
경계 상자를 추가하려면 사각형을 사용하십시오.
ax = plt.gca()
r = matplotlib.patches.Rectangle((.5, .5), .25, .1, fill=False)
ax.add_artist(r)
Matplotlib를 처음 사용하는 사용자가 세로선과 가로선을 그릴 때 일반적인 문제 일 수 있습니다. 이 문제를 이해하려면 Matplotlib에 다른 좌표계 가 있음을 알고 있어야합니다 .
axhline 및 axvline 메소드 는 좌표축 좌표에 선을 그리는 데 사용됩니다 . 이 좌표계에서 왼쪽 하단의 좌표는 (0,0)이고 오른쪽 상단의 좌표는 (1,1)입니다. 플롯의 데이터 범위에 관계 없습니다. 파라미터 xmin
와 xmax
범위는 [0,1]입니다.
반면, 방법 hlines 및 vlines 는 데이터 좌표 에서 선을 그리는 데 사용됩니다 . 의 범위 xmin
와 xmax
X 축의 데이터 한도의 범위에있다.
구체적인 예를 들어 보자.
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 5, 100)
y = np.sin(x)
fig, ax = plt.subplots()
ax.plot(x, y)
ax.axhline(y=0.5, xmin=0.0, xmax=1.0, color='r')
ax.hlines(y=0.6, xmin=0.0, xmax=1.0, color='b')
plt.show()
xmin
및 의 값 xmax
은 axhline
및 hlines
방법 과 동일합니다 . 그러나 생산 라인의 길이는 다릅니다.
참고 URL : https://stackoverflow.com/questions/16930328/vertical-horizontal-lines-in-matplotlib
'program story' 카테고리의 다른 글
Java 문자열 풀이 란 무엇이며 "s"는 새로운 문자열과 어떻게 다른가요? (0) | 2020.07.28 |
---|---|
힘내 : 가져 오기 전용 리모컨을 설정 하시겠습니까? (0) | 2020.07.27 |
객체의 필드를 일반 사전 키로 사용 (0) | 2020.07.27 |
C ++ 11에서 COW std :: string 구현의 적법성 (0) | 2020.07.27 |
Android 5.0 (Lollipop) 용으로 제시된 새로운 SD 카드 액세스 API를 사용하는 방법은 무엇입니까? (0) | 2020.07.27 |