使用 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给出示意图:
我有每个时间点的值(每半小时更新一次)。
我将数据从 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给出示意图: