直接跳到内容

HoloViews 可视化

HoloViews 是一个流行且功能强大的数据可视化库,支持多种数据和绘图后端。

hvPlot(快速可视化)和 GeoViews(空间可视化)都是基于 HoloViews 构建的,并产生 HoloViews 对象。

Panel、HoloViews、hvPlot 和 GeoViews 都是 HoloViz 生态系统的成员,它们可以完美地协同工作

PnHoloViews 组件使用 HoloViews 支持的绘图后端之一渲染 HoloViews 对象。这包括 hvPlotGeoViews 生成的对象。

PnHoloViews 组件支持显示包含小部件的交互式 HoloMapDynamicMap 对象。PnHoloViews 组件甚至允许自定义小部件类型及其相对于图表的位置。

底层实现为panel.pane.HoloViews,参数基本一致,参考文档:https://panel.holoviz.org/reference/panes/HoloViews.html

基本用法

PnHoloViews 组件将任何 HoloViews 对象自动转换为可显示的面板,同时保持其所有交互功能:

通过设置组件的 object 可以像所有其他组件对象一样更新图表:

您也可以显示 hvPlot(和 GeoViews)对象,因为它们是 HoloViews 对象:

您还可以显示 HoloMapDynamicMap 对象。

HoloViews(框架)如果 HoloMapDynamicMap 声明了任何键维度,它原生渲染带有小部件的图表。这种方法高效地仅更新图表内的数据,而不是完全替换图表。

后端选择

PnHoloViews 组件默认使用 'bokeh' 绘图后端(如果没有通过 holoviews 加载后端),但您可以根据需要将后端更改为 'bokeh'、'matplotlib' 和 'plotly' 中的任何一个。

Bokeh

Bokeh 是默认的绘图后端,所以通常您不必指定它。但让我们在这里展示它是如何工作的:

Matplotlib

Matplotlib 后端允许生成用于打印和出版的图形。如果你想允许响应式大小调整,你可以设置 format='svg',然后使用标准的响应式 sizing_mode 设置:

Plotly

要使用 'plotly' 绘图后端,您需要运行 hv.extension("plotly") 来配置 'plotly' 后端。

如果您使用的是 hvPlot,您可以使用 hvplot.extension("plotly") 来代替:

动态后端切换

您还可以通过小部件动态更改绘图后端:

链接坐标轴

默认情况下,具有共享键或值维度的图表的坐标轴是链接的。您可以通过将 linked_axes 参数设置为 False 来删除链接:

主题

您可以更改 theme

布局和小部件参数

PnHoloViews 组件提供了 layout 属性,其中包含 HoloViews 组件和 widget_box

居中

您可以通过 center 参数将图表居中:

API

属性

属性名说明类型默认值
object要显示的 HoloViews 对象object None
backend任何支持的 HoloViews 后端('bokeh','matplotlib' 或 'plotly')。如果未指定,默认为活动的 holoviews 渲染器。默认为 'bokeh'。str None
linked_axes是否在面板布局中链接各图的坐标轴boolean True
format绘制 Matplotlib 图时使用的输出格式str 'png'
renderer用于渲染 HoloViews 图的明确的 HoloViews 渲染器实例。覆盖 backend 参数。object None
theme应用于 HoloViews 图的 Bokeh 主题str, object None
layout包含图表窗格和(可选)widget_box 布局的布局pn.layout.Panel None
widget_box包含小部件的布局ListPanel None
center是否居中显示图表boolean False
widgets从维度名称到小部件类、实例或覆盖字典的映射,用于修改默认小部件dict None
widget_location相对于图表放置小部件的位置str None
widget_layout放置小部件的对象,可以是 RowColumnWidgetBoxListPanel None
widget_type是否为每个维度生成单独的小部件,或使用具有连接维度的全局线性滑块str 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

Slots

插槽名说明
default自定义默认内容

Controls

src/examples/panel_vuepy/panes/HoloViews

HoloViews 可视化已经加载完毕