web-dev-qa-db-ja.com

X軸をボケプロットの日時として設定するにはどうすればよいですか?

Ipythonノートブックでボケを使用しています。

pandas datetimesを含むDataFrameを使用して、ボケで折れ線グラフをプロットしたい:

import pandas as pd
from datetime import datetime as dt
from bokeh.io import output_notebook
from bokeh.charts import Bar, Line, show

df = pd.DataFrame(data=[1,2,3],
                  index=[dt(2015, 1, 1), dt(2015, 1, 2), dt(2015, 1, 3)],
                  columns=['foo'])

output_notebook()
show(Line(df))

ただし、ボケはマイクロ秒を使用します!どうしてこれなの?どうすれば修正できますか?

bokeh plot of line

25
Wilfred Hughes

Bokeh 0.12.3の時点で、次のことができるようになりました。

p = figure(..., x_axis_type='datetime', ...)
67
Emmanuel

それは大丈夫ですか ?

enter image description here

import pandas as pd
from math import pi
from datetime import datetime as dt
from bokeh.io import output_file
from bokeh.charts import show
from bokeh.models import DatetimeTickFormatter
from bokeh.plotting import figure

df = pd.DataFrame(data=[1,2,3],
                  index=[dt(2015, 1, 1), dt(2015, 1, 2), dt(2015, 1, 3)],
                  columns=['foo'])
p = figure(plot_width=400, plot_height=400)
p.line(df.index, df['foo'])
p.xaxis.formatter=DatetimeTickFormatter(
        hours=["%d %B %Y"],
        days=["%d %B %Y"],
        months=["%d %B %Y"],
        years=["%d %B %Y"],
    )
p.xaxis.major_label_orientation = pi/4
output_file('myplot.html')
show(p)
30
euri10

FWIW、質問が最初に投稿されてからデフォルトの動作が変更されました。元のコードの結果は次のとおりです。

outcome from code

3
jsignell