मैं डेटासेट से चार्ट उत्पन्न करने के लिए Bokeh Application ('एकल मॉड्यूल प्रारूप' में) उदाहरण का प्रयास कर रहा हूं। दिए गए उदाहरण में, वेब पेज पर उपयोगकर्ता एक बटन पर क्लिक कर सकता है और चार्ट नवीनतम डेटा के साथ अपडेट हो जाएगा। मैं यह समझने की कोशिश कर रहा हूं कि उपयोगकर्ता को बटन पर क्लिक करने की आवश्यकता के बिना मैं वही व्यवहार कैसे प्राप्त कर सकता हूं। यही है, मैं चार्ट को उपयोगकर्ता इंटरैक्शन की आवश्यकता के बिना निर्दिष्ट अंतराल पर स्वचालित रूप से अपडेट/रीफ्रेश/पुनः लोड करना चाहता हूं। आदर्श रूप से, मुझे इसे पूरा करने के लिए केवल myapp.py में कुछ बदलना होगा।बोके: स्वचालित रूप से रीफ्रेशिंग बोके प्लॉट्स
बोके संस्करण 0.12.0 है।
डेमो यहाँ सुविधा के लिए कॉपी कोड:
# myapp.py
import numpy as np
from bokeh.layouts import column
from bokeh.models import Button
from bokeh.palettes import RdYlBu3
from bokeh.plotting import figure, curdoc
# create a plot and style its properties
p = figure(x_range=(0, 100), y_range=(0, 100), toolbar_location=None)
p.border_fill_color = 'black'
p.background_fill_color = 'black'
p.outline_line_color = None
p.grid.grid_line_color = None
# add a text renderer to out plot (no data yet)
r = p.text(x=[], y=[], text=[], text_color=[], text_font_size="20pt",
text_baseline="middle", text_align="center")
i = 0
ds = r.data_source
# create a callback that will add a number in a random location
def callback():
global i
ds.data['x'].append(np.random.random()*70 + 15)
ds.data['y'].append(np.random.random()*70 + 15)
ds.data['text_color'].append(RdYlBu3[i%3])
ds.data['text'].append(str(i))
ds.trigger('data', ds.data, ds.data)
i = i + 1
# add a button widget and configure with the call back
button = Button(label="Press Me")
button.on_click(callback)
# put the button and plot in a layout and add to the document
curdoc().add_root(column(button, p))