#header-mark#
Param 参数组件
PnParam 组件允许自定义 param.Parameterized 类参数的小部件、布局和样式。通过该组件,可以轻松地为参数化模型创建交互式界面。
底层实现为panel.pane.Param,参数基本一致,参考文档:https://panel.holoviz.org/reference/panes/Param.html
基本用法
PnParam 组件可以用来查看和编辑参数化模型。下面我们构建一个骑行运动员及其功率曲线的模型作为示例:
自定义小部件
我们可以为特定参数自定义小部件类型:
展开子对象
我们可以通过 expand 参数默认展开子对象:
选择特定参数和自定义布局
我们可以选择只显示特定参数,并自定义布局:
滑块控件的连续更新禁用
当函数运行时间较长并且依赖于某个参数时,实时反馈可能成为负担,而不是有帮助。因此,如果参数使用的是滑块控件,可以通过设置 throttled 关键字为 True 来仅在释放鼠标按钮后才执行函数。
组合参数控件与结果显示
可以组合参数控件与计算结果显示:
API
属性
| 属性名 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| object | param.Parameterized 类的 param 属性 | param.parameterized.Parameters | None |
| parameters | 标识要包含在窗格中的参数子集的列表 | List[str ] | [] |
| widgets | 指定特定参数使用哪些小部件的字典。还可以指定小部件属性 | Dict | {} |
| default_layout | 布局,如 Column、Row 等,或自定义 GridBox | ClassSelector | Column |
| display_threshold | 优先级低于此值的参数不会显示 | float | 0 |
| expand | 参数化子对象在实例化时是否展开或折叠 | bool | False |
| expand_button | 是否添加展开和折叠子对象的按钮 | bool | True |
| expand_layout | 展开子对象的布局 | layout | Column |
| name | 窗格的标题 | str | '' |
| show_labels | 是否显示标签 | bool | True |
| show_name | 是否显示参数化类的名称 | bool | True |
| 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
| 插槽名 | 说明 |
|---|---|
| Param的字段 | 自定义widget |
Controls
src/examples/panel_vuepy/panes/Param