7
私はPandas
のデータフレームを、年と数値を含むDateTime
の列でプロットするためにBokehを使用しようとしています。 DateTime
がx
と指定されている場合、動作は期待通りです(x軸の年)。しかし、を使用してDateTime
列をデータフレームのインデックスに変換し、にy
と指定すると、x軸の時間がミリ秒単位で表示されます。最小限の例BokehのTimeSeriesでインデックスを持つデータフレームを使用
import pandas as pd
import numpy as np
from bokeh.charts import TimeSeries, output_file, show
output_file('fig.html')
test = pd.DataFrame({'datetime':pd.date_range('1/1/1880', periods=2000),'foo':np.arange(2000)})
fig = TimeSeries(test,x='datetime',y='foo')
show(fig)
output_file('fig2.html')
test = test.set_index('datetime')
fig2 = TimeSeries(test,y='foo')
show(fig2)
これは予期しない動作またはバグですか?私は両方のアプローチで同じ画像が期待されます。
乾杯!
:安定
bokeh.plotting
APIを使用する同等のコードでは、期待される結果が得られます。興味深いことに、 'fig2 = TimeSeries(test、y = 'foo')'行の後、 'test'は' datetime'データのインデックスと 'index'という新しい列の両方を含むように変更されました。単にデータフレームをプロットするだけでデータが変更されるのはちょっと驚きです。 – Jake良いキャッチ、私は気づいていなかった。私はこれを[問題](https://github.com/bokeh/bokeh/issues/3763)として報告しました。 – manu