是否可以创建bokeh仪表板的一部分来显示python会话的控制台输出?我正在使用bokeh创建一个前端仪表板,该仪表板运行一个过程可能需要一段时间,并且会执行很多工作,并且我想要一个部分来显示在此过程中执行的一些打印语句。理想情况下,我希望有一个小部件类型的对象,该对象可以直接在仪表板上显示输出。
答案 0 :(得分:1)
一个简单的示例,使用列表操作系统消息的内容(带有html代码)更新Div
元素。我认为您可以根据自己的需要进行调整:
from bokeh.layouts import column
from bokeh.io import curdoc
from bokeh.models import Button
from bokeh.models.widgets import Div
div = Div(
text='',
width=200,
height=200
)
msg_list = []
def update_div():
msg_num = len(msg_list)
msg_list.append('{}: New message'.format(msg_num))
m = ''
for msg in msg_list:
m += '<li>{}</li>'.format(msg)
div.text = '<ul>{}</ul>'.format(m)
bt = Button(
label="Update div",
button_type="success",
width=50
)
bt.on_click(update_div)
curdoc().add_root(
column(children=[bt, div])
)