1. ホーム
  2. python

[解決済み] Pythonのmatplotlibで日付をX軸にプロットする

2022-02-03 21:49:08

質問

日付に対して情報をプロットしようとしています。日付のリストがあり、フォーマットは "01/02/1991" です。

以下のようにして変換してみました。

x = parser.parse(date).strftime('%Y%m%d'))

これは 19910102

次に、num2date を使ってみました。

import matplotlib.dates as dates
new_x = dates.num2date(x)

プロットする。

plt.plot_date(new_x, other_data, fmt="bo", tz=None, xdate=True)

しかし、エラーが発生します。それは "ValueError: year is out of range" と言っています。何か解決策はありますか?

解決方法を教えてください。

KyssTaoさんがおっしゃっているように。 help(dates.num2date) が言っているのは x は、0001-01-01からの日数に1を足した日数を表すfloatでなければならない。したがって 19910102 なぜなら、0001年01月01日から19910101日を数えると、54513年かそれに近い年になってしまうからです(1年の日数である365.25で割ってください)。

使用方法 datestr2num の代わりに help(dates.datestr2num) ):

new_x = dates.datestr2num(date) # where date is '01/02/1991'