You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Bokeh输出文件添加页面自动刷新功能?

实现Bokeh生成的HTML自动刷新

你之前用Div插入<head>标签的方法行不通,因为Div的内容会被渲染到HTML的<body>区域里,浏览器只会识别<head>标签内的刷新元数据。下面是两种可行的代码实现方式:

方法一:通过output_file添加头部元数据

在调用output_file生成HTML文件时,利用extra_script参数直接传入刷新用的meta标签,它会被自动插入到HTML的<head>中:

from bokeh.plotting import figure, output_file, show
from bokeh.layouts import column

# 配置输出文件,加入自动刷新的meta标签
output_file("auto_refresh.html", extra_script='<meta http-equiv="Refresh" content="4">')

# 示例图表代码(替换成你的实际代码)
p = figure(width=400, height=400)
p.circle([1, 2, 3, 4, 5], [6, 7, 2, 4, 5], size=15)

layout = column(p, sizing_mode='stretch_both')
show(layout)

方法二:修改Bokeh文档的extra_head属性

如果是使用Bokeh服务器或者需要更灵活的文档配置,可以直接操作当前文档的extra_head属性,添加刷新元数据:

from bokeh.plotting import figure, curdoc
from bokeh.layouts import column

# 获取当前Bokeh文档
doc = curdoc()

# 将刷新meta标签添加到文档头部
doc.extra_head.append('<meta http-equiv="Refresh" content="4">')

# 示例图表代码(替换成你的实际代码)
p = figure(width=400, height=400)
p.circle([1, 2, 3, 4, 5], [6, 7, 2, 4, 5], size=15)

layout = column(p, sizing_mode='stretch_both')
doc.add_root(layout)

这两种方法都会把刷新元数据正确放置到HTML的<head>区域,和你手动修改文件的效果完全一致,无需再手动编辑生成的HTML。

内容的提问来源于stack exchange,提问作者ptr808

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 09:10:27