0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

日付軸の折れ線をプロットする際、値の型が`datetime.date`だと描画されないときがある

Posted at

環境

  • Python3.10.2
  • bokeh 2.4.3

やりたいこと

X軸が日付である折れ線グラフを作成したいです。
以下を参考にして、折れ線を描画しました。

dates = [datetime.datetime(2022, 8, 1), datetime.datetime(2022, 8, 2)]
sales = [100, 200]
plot = figure(x_axis_type="datetime")
plot.line(x=dates, y=sales)
show(plot)

image.png

ハマったこと

datesの要素の型がdatetime.datetimeでなくdatetime.dateの場合、折れ線は描画されませんでした。
ブラウザのコンソールには、[bokeh] could not set initial rangesというログが出力されました。

dates = [datetime.date(2022, 8, 1), datetime.date(2022, 8, 2)]
sales = [100, 200]
plot = figure(x_axis_type="datetime")
plot.line(x=dates, y=sales)
show(plot)

image.png

figure(x_axis_type="datetime")と指定しているので、datetime.datetimeでないといけないのは理解できます。
しかし、datesの型がlistでなくnumpy.ndarrayならば、datesの要素の型がdatetime.dateでも折れ線が描画されました。

dates = numpy.array([datetime.date(2022, 8, 1), datetime.date(2022, 8, 2)])
sales = [100, 200]
plot = figure(x_axis_type="datetime")
plot.line(x=dates, y=sales)
show(plot)

bokehの内部でdatetime.datedatetime.datetimeに変換しているのでしょうか?
もともと私はnumpy.ndarrayの変数を渡して日付の折れ線を描画していたので、datetime.date型が原因であることになかなか気づけませんでした。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?