如何在x轴上显示日期时间?

问题描述 投票:0回答:1

我正在尝试使用Bokeh用日期时间更新一些实时数据。我尝试了一些方法,但仍然无法成功完成。

这是我的代码。

from bokeh.driving import linear 
from bokeh.plotting import figure, curdoc
from random import randint
import datetime
import random 

p = figure(title='Test Data',x_axis_type='datetime')
p = figure(plot_width=1300, plot_height=500)
r1 = p.line([], [], color="firebrick", line_width=2)
ds1 = r1.data_source 

@linear()
def update(step):
    global dsl
    ds1.data['x'].append(datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")) 
    ds1.data['y'].append(random.randint(0,100)) 
    ds1.trigger('data', ds1.data, ds1.data) 

curdoc().add_root(p)
curdoc().add_periodic_callback(update, 2000)

如果我修改过

ds1.data['x'].append(datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"))

ds1.data['x'].append(step)

代码可以运行。

有人可以给我一个提示,让x_axis显示日期时间吗?

python bokeh
1个回答
0
投票

坐标不应为字符串。它们应该是:

  • 实际日期时间类型,例如任何Python,NumPy或Pandas日期时间类型均可使用

  • 一个数字时间戳,特别是自纪元以来的毫秒数

© www.soinside.com 2019 - 2024. All rights reserved.