簡體   English   中英

如何使用matplotlib繪制正確的日期?

[英]How to plot correct dates with matplotlib?

我正在嘗試使用Python,pandas和matplotlib,但存在一些菜鳥問題。

我的簡單腳本:

from dateutil.relativedelta import relativedelta
import Quandl
start_date = datetime.datetime.now() - relativedelta(days=5)
data_frame = Quandl.get("GOOG/NASDAQ_AAPL",
  trim_start=start_date)

import matplotlib  
matplotlib.use('Agg')
import matplotlib.pyplot as plt

plt.plot(data_frame['Close'].index, data_frame['Close'])
plt.gcf().autofmt_xdate()
plt.savefig('plot')
plt.close()

繪制此圖: 在此處輸入圖片說明

如何獲取x軸以打印出格式正確的日期(也許是2014-04-24)?

我猜想它與data_frame['Close'].index 它輸出為:

<class 'pandas.tseries.index.DatetimeIndex'>
[2014-04-21, ..., 2014-04-25]
Length: 5, Freq: None, Timezone: None

我一直在從我一直在閱讀的在線文章中期待[1950-01-31 00:00:00, ..., 2013-02-28 00:00:00]的內容。 因此,我在辯論是否需要使用類似datetime.strptime但不確定是否正確。 並且不確定如何將其與datetime索引一起使用。

感謝您的時間!

matplotlib ,您可以通過直接修改major_formater獲得所需的x刻度格式:

import matplotlib.dates as mdates
plt.plot(data_frame['Close'].index, data_frame['Close'])
plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%Y/%b/%d-%H:%S'))
plt.gca().xaxis.set_major_locator(mdates.DayLocator(interval=1))
plt.xticks(rotation=45, fontsize = 8)

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM