首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从嵌入式bokeh图中获取信息

从嵌入式bokeh图中获取信息
EN

Stack Overflow用户
提问于 2017-03-20 09:20:48
回答 1查看 130关注 0票数 0

我有一个流式波克图,我已经将其嵌入到一个flask渲染的HTML文档中。我使用this repo作为如何连接flask服务器和bokeh服务器的指南。现在我已经在线上了流式绘图,我想要显示绘图下面的流式数据的一些计算(即平均值、差值、标准差)访问绘图数据源进行这些计算的最佳方法是什么?

我的good显示bokeh没有一个很好的方法将文本框放到嵌入的bokeh文档中,所以这意味着我需要以某种方式将数据拉到flask模板中,这样我就可以用jquery操作它了?

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

EN

回答 1

Stack Overflow用户

发布于 2017-03-20 14:38:53

好消息!事实证明,bokeh确实有一种将文本添加到文档的方法。我用Paragraph()解决了我的问题

因此,例如,我可以将this streaming example修改为以下内容:

代码语言:javascript
复制
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)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42894426

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档