Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Matplotlib를 사용하여 날짜/시간 축에 사각형을 그리는 방법은 무엇입니까?

<시간/>

matplotlib를 사용하여 날짜/시간 축에 recatangle을 표시하려면 다음 단계를 수행할 수 있습니다. -

  • 그림 크기를 설정하고 서브플롯 사이 및 주변 여백을 조정합니다.
  • 새 그림을 만들거나 기존 그림을 활성화합니다.
  • '~.axes.Axes' 추가 add_subplot()을 사용하여 서브플롯 배열의 일부로 그림에 방법.
  • 사각형을 정의하려면 datetime 및 matplotlib의 날짜를 사용하여 기준점을 찾습니다.
  • '~.패치' 추가 add_patch()를 사용하여 축에 방법.
  • 주축 로케이터 및 포맷터를 설정합니다.
  • x 및 y축 배율을 제한합니다.
  • 그림을 표시하려면 show()를 사용하세요. 방법.

from datetime import datetime, timedelta
from matplotlib.patches import Rectangle

import matplotlib.pyplot as plt
import matplotlib.dates as mdates

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

fig = plt.figure()

ax = fig.add_subplot(111)

startTime = datetime.now()
endTime = startTime + timedelta(seconds=1)
start = mdates.date2num(startTime)
end = mdates.date2num(endTime)

width = end – start
rect = Rectangle((start, 0), width, 1, color='red')
ax.add_patch(rect)

locator = mdates.AutoDateLocator(minticks=3)
formatter = mdates.AutoDateFormatter(locator)

ax.xaxis.set_major_locator(locator)
ax.xaxis.set_major_formatter(formatter)

plt.xlim([start - width, end + width])
plt.ylim([-.5, 1.5])

plt.show()

출력

Matplotlib를 사용하여 날짜/시간 축에 사각형을 그리는 방법은 무엇입니까?