簡體   English   中英

如何將 x 軸設置為散景圖上的日期時間?

[英]How can I set the x-axis as datetimes on a bokeh plot?

我在 ipython 筆記本上使用散景。

我想使用包含日期時間的 Pandas 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))

但是,散景使用微秒! 為什么是這樣? 我如何解決它?

線的散景圖

從散景 0.12.3 開始,您現在可以執行以下操作:

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

這可以嗎 ?

在此處輸入圖片說明

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)

FWIW,自問題首次發布以來,默認行為已更改。 原始代碼現在產生:

代碼的結果

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM