program story

matplotlib의 세로 및 가로 선

inputbox 2020. 7. 27. 07:56
반응형

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)

Rectangle 문서


Matplotlib를 처음 사용하는 사용자가 세로선과 가로선을 그릴 때 일반적인 문제 일 수 있습니다. 이 문제를 이해하려면 Matplotlib에 다른 좌표계 가 있음을 알고 있어야합니다 .

axhlineaxvline 메소드 좌표축 좌표에 선을 그리는 데 사용됩니다 . 이 좌표계에서 왼쪽 하단의 좌표는 (0,0)이고 오른쪽 상단의 좌표는 (1,1)입니다. 플롯의 데이터 범위에 관계 없습니다. 파라미터 xminxmax범위는 [0,1]입니다.

반면, 방법 hlinesvlines데이터 좌표 에서 선을 그리는 데 사용됩니다 . 의 범위 xminxmaxX 축의 데이터 한도의 범위에있다.

구체적인 예를 들어 보자.

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의 값 xmaxaxhlinehlines방법 동일합니다 . 그러나 생산 라인의 길이는 다릅니다.

참고 URL : https://stackoverflow.com/questions/16930328/vertical-horizontal-lines-in-matplotlib

반응형