반응형
다음 구조의 배열에 데이터가 있습니다.
[[1293606162197, 0, 0],
[1293605477994, 63, 0],
[1293605478057, 0, 0],
[1293605478072, 2735, 1249],
[1293606162213, 0, 0],
[1293606162229, 0, 0]]
첫 번째 열은 에포크 시간 ( ms
), 두 번째 열은 y1
, 세 번째 열은 y2
입니다. x 축에 시간이 있고 왼쪽 및 오른쪽 y 축에 y1
및 y2
가있는 플롯이 필요합니다.
문서를 샅샅이 뒤졌지만 "28/12 16:48", 즉 "date / month hour : min"과 같이 x 축 눈금이 날짜와 시간을 모두 표시하도록하는 방법을 찾을 수 없습니다. 나에게 도움이되는 모든 문서는 날짜 만 표시하는 것이지만 내가 원하는 것은 아닙니다. 이것에 대한 도움을 주시면 감사하겠습니다.
해결 방법
import numpy as np
from matplotlib import pyplot as plt
from matplotlib import dates
import datetime
a = np.array([
[1293605162197, 0, 0],
[1293605477994, 63, 0],
[1293605478057, 0, 0],
[1293605478072, 2735, 1249],
[1293606162213, 0, 0],
[1293606162229, 0, 0]])
d = a[:,0]
y1 = a[:,1]
y2 = a[:,2]
# convert epoch to matplotlib float format
s = d/1000
ms = d-1000*s # not needed?
dts = map(datetime.datetime.fromtimestamp, s)
fds = dates.date2num(dts) # converted
# matplotlib date format object
hfmt = dates.DateFormatter('%m/%d %H:%M')
fig = plt.figure()
ax = fig.add_subplot(111)
ax.vlines(fds, y2, y1)
ax.xaxis.set_major_locator(dates.MinuteLocator())
ax.xaxis.set_major_formatter(hfmt)
ax.set_ylim(bottom = 0)
plt.xticks(rotation='vertical')
plt.subplots_adjust(bottom=.3)
plt.show()
참조 페이지 https://stackoverflow.com/questions/5498510
반응형
'파이썬' 카테고리의 다른 글
파이썬에서 명령 프롬프트 명령을 실행하는 방법 (0) | 2020.10.06 |
---|---|
파이썬 Python에서 반복 건너 뛰기 (0) | 2020.10.06 |
파이썬 Removing the TK icon on a Tkinter window (0) | 2020.10.06 |
파이썬 How to display picture and get mouse click coordinate on it (0) | 2020.10.06 |
파이썬 Django 모델의 필드를 업데이트하기 위해 사전을 어떻게 사용합니까? (0) | 2020.10.06 |
댓글