나는 (HH : MM : SS.mmmmmm) 형식의 타임 스탬프 어레이와 타임 스탬프 배열의 값에 각각 대응하는 부동 소수점 배열을 가지고 있습니다.Matplotlib로 파이썬에서 플롯하는 시간
Matplotlib을 사용하여 x 축에 시간을 그리고 y 축에 숫자를 플로팅 할 수 있습니까?
나는하려고했지만, 어떻게 든 그것은 수레의 배열만을 받아 들였다. 시간을 계획하려면 어떻게해야합니까? 어떤 식 으로든 형식을 수정해야합니까?
나는 (HH : MM : SS.mmmmmm) 형식의 타임 스탬프 어레이와 타임 스탬프 배열의 값에 각각 대응하는 부동 소수점 배열을 가지고 있습니다.Matplotlib로 파이썬에서 플롯하는 시간
Matplotlib을 사용하여 x 축에 시간을 그리고 y 축에 숫자를 플로팅 할 수 있습니까?
나는하려고했지만, 어떻게 든 그것은 수레의 배열만을 받아 들였다. 시간을 계획하려면 어떻게해야합니까? 어떤 식 으로든 형식을 수정해야합니까?
먼저 타임 스탬프를 파이썬 datetime
개체 (datetime.strptime
사용)로 변환해야합니다. 그런 다음 date2num
을 사용하여 날짜를 matplotlib 형식으로 변환하십시오. plot_date
를 사용
플롯 날짜와 값 :
dates = matplotlib.dates.date2num(list_of_datetimes)
matplotlib.pyplot.plot_date(dates, values)
또한 (자신의 캐릭터 라인 표현에서 그들을 구문 분석 후) pyplot.plot를 사용하여 타임 스탬프 값 쌍을 플롯 할 수 있습니다. (하기 matplotlib 버전 1.2.0 및 1.3.1 테스트).
예 : 여기
가 산점도 같은 같습니다
import datetime
import random
import matplotlib.pyplot as plt
# make up some data
x = [datetime.datetime.now() + datetime.timedelta(hours=i) for i in range(12)]
y = [i+random.gauss(0,1) for i,_ in enumerate(x)]
# plot
plt.plot(x,y)
# beautify the x-labels
plt.gcf().autofmt_xdate()
plt.show()
화상을 생성 :
import datetime
import random
import matplotlib.pyplot as plt
# make up some data
x = [datetime.datetime.now() + datetime.timedelta(hours=i) for i in range(12)]
y = [i+random.gauss(0,1) for i,_ in enumerate(x)]
# plot
plt.scatter(x,y)
# beautify the x-labels
plt.gcf().autofmt_xdate()
plt.show()
(210)
이 비슷한 이미지를 생성합니다 :
어떻게 산점도로 작업 할 수 있습니까? – andi
@andi 제 예제처럼 작동해야합니다 ('plot'을'scatter'로 변경하십시오). – moooeeeep
이것이 제 5의 질문 인 이유를 이해하지 못합니다. 아무도 실제로 * 트라이얼 * 스 캐터 플롯을 사용하지 않는 곳에서 발생했습니다. 작동하지 않습니다. '유형 오류 - 유효하지 않은 유형 승격 '. – dwanderson
칠년 이상을이 코드가 도움이되었습니다. 그러나 내 시간은 여전히 올바르게 나타나지 않았습니다. (%의 H %의 M)하기 matplotlib 2.0.0 및 I를 사용
는 I가 형식을 변경
import matplotlib.dates as mdates
myFmt = mdates.DateFormatter('%d')
ax.xaxis.set_major_formatter(myFmt)
폴 H. 의해 Editing the date formatting of x-axis tick labels in matplotlib에서 다음 코드 비트를 추가했고 시간이 올바르게 표시되었습니다.
커뮤니티에 감사드립니다.
matplotlib 버전 2.0.2를 사용하는 데 문제가있었습니다. 위의 예제를 실행하면 중심에 쌓인 일련의 거품이 생겼습니다.원하는
import datetime
import random
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
# make up some data
x = [datetime.datetime.now() + datetime.timedelta(minutes=i) for i in range(12)]
y = [i+random.gauss(0,1) for i,_ in enumerate(x)]
# plot
plt.plot([],[])
plt.scatter(x,y)
# beautify the x-labels
plt.gcf().autofmt_xdate()
myFmt = mdates.DateFormatter('%H:%M')
plt.gca().xaxis.set_major_formatter(myFmt)
plt.show()
plt.close()
이것은 분산 된 기포에 의한 이미지를 생성한다 :
가plt.plot([],[])
코드 전체가된다 :
는 I 다른 라인을 추가함으로써이 문제를 "고정" .
업데이트 된 버전을 이용해 주셔서 감사합니다. – Aventinus
날짜를 표시 하시겠습니까? 나는 datetime으로 변환 할 때만 시간이 필요합니다. 년은 1990로 설정됩니다. – randomThought
"... datetime으로 변환하면 연도는 1990로 설정됩니다.": 문자열에서 datetime으로 변환하는 데 사용하는 코드를 게시 할 수 있습니까? ? 전환에 문제가있을 수 있습니다. 레. 차트 레이블의 형식은 J. K. Seppänen이 제공 한 date_demo1 링크를 참조하십시오. matplot lib 문서는 우수합니다, BTW. http://matplotlib.sourceforge.net/index.html – codeape
plot_dates -> matplotlib.pyplot.plot_date (날짜, 값) – Pete