Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 从嵌入式bokeh绘图中获取信息_Jquery_Python_Flask_Bokeh - Fatal编程技术网

Jquery 从嵌入式bokeh绘图中获取信息

Jquery 从嵌入式bokeh绘图中获取信息,jquery,python,flask,bokeh,Jquery,Python,Flask,Bokeh,我有一个流bokeh图,我已经嵌入到一个HTML文档中。我用它作为如何连接flask服务器和bokeh服务器的指南。现在我有了在线的流图,我想展示一些关于图下流数据的计算,即平均点、差分、标准偏差。访问图数据源进行这些计算的最佳方式是什么 我的谷歌搜索显示,bokeh没有一个好方法在嵌入的bokeh文档中放置文本框,因此这意味着我需要以某种方式将数据拉入flask模板,以便使用jquery对其进行操作 有经验的程序员如何开始处理这个问题,或者可能有人知道一个解决了这个问题的项目,我可以看一看?谢

我有一个流bokeh图,我已经嵌入到一个HTML文档中。我用它作为如何连接flask服务器和bokeh服务器的指南。现在我有了在线的流图,我想展示一些关于图下流数据的计算,即平均点、差分、标准偏差。访问图数据源进行这些计算的最佳方式是什么

我的谷歌搜索显示,bokeh没有一个好方法在嵌入的bokeh文档中放置文本框,因此这意味着我需要以某种方式将数据拉入flask模板,以便使用jquery对其进行操作


有经验的程序员如何开始处理这个问题,或者可能有人知道一个解决了这个问题的项目,我可以看一看?谢谢

好消息!事实证明,bokeh确实有一种向文档中添加文本的方法。我能用计算机解决我的问题

例如,我可以修改以下内容:

from bokeh.plotting import figure, curdoc
from bokeh.driving import linear
from bokeh.models import Paragraph
from bokeh.layouts import column
import random

p = figure( plot_width=300, plot_height=300)
r1 = p.line([], [], color="firebrick", line_width=2)
r2 = p.line([], [], color="navy", line_width=2)
ds1 = r1.data_source
ds2 = r2.data_source
avg1 = Paragraph(text='Average Val #1 is:')
avg2 = Paragraph(text='Average Val #2 is:')

@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)
    mean1 = sum(ds1.data['x'])/float(len(ds1.data['x']))
    mean2 = sum(ds2.data['x'])/float(len(ds2.data['x']))
    avg1.text = 'Average Val #2 is: ' + str(mean1)
    avg2.text = 'Average Val #2 is: ' + str(mean2)
curdoc().add_root(column(p,avg1,avg2))

# Add a periodic callback to be run every 500 milliseconds
curdoc().add_periodic_callback(update, 500)