環境
- 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)
ハマったこと
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)
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.dateをdatetime.datetimeに変換しているのでしょうか?
もともと私はnumpy.ndarrayの変数を渡して日付の折れ線を描画していたので、datetime.date型が原因であることになかなか気づけませんでした。

