#header-mark#
Bokeh 图表
PnBokeh
组件允许在 Panel 应用程序中显示任何可显示的 Bokeh 模型。由于 Panel 内部基于 Bokeh 构建,Bokeh 模型只是简单地插入到图表中。由于 Bokeh 模型通常只显示一次,某些与 Panel 相关的功能(如同步同一模型的多个视图)可能无法工作。尽管如此,这种组件类型对于将原始 Bokeh 代码与高级 Panel API 结合起来非常有用。
在 notebook 中工作时,对 Bokeh 对象的任何更改可能不会自动同步,需要显式调用包含 Bokeh 对象的 Panel 组件的 pn.state.push_notebook
。
底层实现为panel.pane.Bokeh
,参数基本一致,参考文档:https://panel.holoviz.org/reference/panes/Bokeh.html
基本用法
下面是一个使用 Bokeh 创建饼图并将其显示在 Panel 中的示例:
更新 Bokeh 对象
要使用实时服务器更新图表,我们可以简单地修改底层模型。如果我们在 Jupyter notebook 中工作,我们还必须在组件上调用 pn.io.push_notebook
辅助函数,或者明确使用 bokeh_pane.param.trigger('object')
触发事件:
交互式 Bokeh 应用
使用 Panel 渲染 Bokeh 对象的另一个很好的特性是回调将像在服务器上一样工作。因此,您可以简单地将现有的 Bokeh 应用程序包装在 Panel 中,它将可以渲染并开箱即用,无论是在 notebook 中还是作为独立应用程序提供服务:
API
属性
属性名 | 说明 | 类型 | 默认值 |
---|---|---|---|
object | 要显示的 Bokeh 模型 | bokeh.layouts.LayoutDOM | None |
theme | 要应用的 Bokeh 主题 | bokeh.themes.Theme | None |
sizing_mode | 尺寸调整模式 | str | 'fixed' |
width | 宽度 | int, str | None |
height | 高度 | int, str | None |
min_width | 最小宽度 | int | None |
min_height | 最小高度 | int | None |
max_width | 最大宽度 | int | None |
max_height | 最大高度 | int | None |
margin | 外边距 | int, tuple | 5 |
css_classes | CSS类名列表 | list | [] |
Slots
插槽名 | 说明 |
---|---|
default | 自定义默认内容 |
Controls
src/examples/panel_vuepy/panes/Bokeh