1
:ボケストリーミング問題:私は次のコードを持ってラインシフト
import random
import datetime as dt
from bokeh.models import ColumnDataSource
from bokeh.plotting import curdoc, figure
source = ColumnDataSource(dict(
x = [], y = []
))
p = figure(plot_height=250, plot_width=400, tools="save",
x_axis_type="datetime", y_axis_location="right")
p.x_range.follow = "end"
p.x_range.follow_interval = 5000 # ms
p.line(x='x', y='y', color='red', source=source)
cur_time = dt.datetime.now()
step = dt.timedelta(seconds=1)
def update():
global cur_time, step
new_data = dict(x=[], y=[])
new_data['x'].append(cur_time)
new_data['y'].append(random.randint(1, 100))
cur_time += step
source.stream(new_data, 60) # how many data are saved
curdoc().add_root(p)
curdoc().add_periodic_callback(update, 500)
は、私がデータをカットしたかったので、私はstream methodにロールオーバーパラメータを追加しました。
しかし、後にラインがシフトし始めている間:最初はそれはOKだ
なぜそれがそのように動作しますか?そしてこれを修正する方法は?
ありがとうございました!