:
Temel olarak, bokeh sunucusunda size piton uygulamasını çalıştırmanız gerekir. Daha sonra herkes sunucuya bağlanabilir ve grafiği gerçek zamanlı olarak görüntüleyebilir.
İlk önce, programınızı yazın. örneğin bu kodu kullanın:
# myplot.py
from bokeh.plotting import figure, curdoc
from bokeh.driving import linear
import random
p = figure(plot_width=400, plot_height=400)
r1 = p.line([], [], color="firebrick", line_width=2)
r2 = p.line([], [], color="navy", line_width=2)
ds1 = r1.data_source
ds2 = r2.data_source
@linear()
def update(step):
ds1.data['x'].append(step)
ds1.data['y'].append(random.randint(0,100))
ds2.data['x'].append(step)
ds2.data['y'].append(random.randint(0,100))
ds1.trigger('data', ds1.data, ds1.data)
ds2.trigger('data', ds2.data, ds2.data)
curdoc().add_root(p)
# Add a periodic callback to be run every 500 milliseconds
curdoc().add_periodic_callback(update, 500)
Sonra program ile, komut satırından sunucuyu çalıştırın:
C:\>bokeh serve --show myplot.py
Bu gerçek zamanlı grafik ile tarayıcı açılır.
Tüm ayrıntılar için bokeh server documentation'a bakın.
Oldukça geniş teknik nedenlerden dolayı, ".data" özniteliğinin tamamını "bir kerede" güncelleyebilmeniz genellikle tercih edilir; yani, ds.data = new_data'. Ayrıca bu şekilde yaparsanız, 'tetikleyici' çağrıları gerekli değildir, Bokeh sunucusu tüm özelliklerde otomatik olarak değişiklikler toplayacaktır. – bigreddot
Tüm veri kümesini sıkıştırmak yerine sadece son X noktalarını göstermek nasıl mümkün olabilir? –
'.stream 'noktaları düşürmeden önce en fazla kaç nokta tutulacağını belirten bir' rollover' parametresini kabul eder. – bigreddot