使用 Bokeh 可视化时间序列 - 数据点重叠

Visualizing TimeSeries with Bokeh - datapoints overlap

我有每个时间点的值(每半小时更新一次)。

我将数据从 csv 读取到 pandas 数据帧中:

import pandas as pd
headers = ['timestamp', 'pressure']
df = pd.read_csv('data.csv', header=None, names=headers)

数据类型为:

timestamp    object
pressure      int64

df 本身看起来像这样:

             timestamp  pressure
0  2016-01-29 10:00:00         3
1  2016-01-30 22:30:00         2
2  2016-01-31 04:30:00         1

我想象如下:

fig = TimeSeries(df, x = 'timestamp', y = 'pressure',builder_type='point'
                                                    ,xscale="datetime")

returns 是什么:

但是,如果我删除时间部分 - 它会正常工作:

我做错了什么?

尝试设置 webgl=False。

Bokeh 0.10 中的 webgl 中存在一个 issue,导致在放大图时出现跳跃数据点。这与渲染的舍入误差有关。我怀疑当前的行为与此有关,而且问题还没有完全解决。

试试这个最小的例子:

import numpy as np
import bokeh.plotting as bk
from datetime import datetime,timedelta

no_of_datapoints=10

base = datetime(2016, 2, 1, 9, 36, 0)
date_list = [base - timedelta(minutes=x) for x in range(0, no_of_datapoints)]
datapoints=np.arange(no_of_datapoints)

p=bk.figure(webgl=True,x_axis_type="datetime")
p.scatter(x=date_list,y=datapoints)
bk.show(p)

设置 webgl=True 给出图表:

webgl=False给出示意图: