gpt4 book ai didi

python - 如何在HoloViews中获取小部件 "handler"

转载 作者:太空宇宙 更新时间:2023-11-03 20:04:12 25 4
gpt4 key购买 nike

当使用基于 xArray 数据的 HoloViews 创建绘图 (QuadMesh) 时,任何缺失的维度都会自动创建 slider 等小部件以方便数据探索。例如:

hv_ds = hv.Dataset(data)    
plot = hv_ds.to(hv.QuadMesh, kdims=["lon", "lat"], vdims="depth")

由于数据包含 12 个月的数据,HoloViews 将根据经度和纬度创建 QuadMesh,使用深度作为值,然后提供一个 slider 小部件来选择月份。它将把所有内容包装在一个 HoloMap 中,如下所示:

HoloMap containing 12 items of type QuadMesh
--------------------------------------------

Key Dimensions:
month: 1.0...12.0
Deep Dimensions:
lon: -280.0...80.0
lat: -78.0...-44.6
depth: 3.5...4796.6

Plot generated

我想检索“月份 slider 小部件”的值以更新另一个图,但我找不到访问它的方法。没有 plot.get_widget_value() 或类似的东西。有什么想法可以获取它的指针或处理程序吗?

最佳答案

当您创建这样的小部件+绘图时,我不知道如何获取当前值。也许其他人知道。

但我确实知道当您使用面板创建小部件+绘图时如何获取当前选定的值,如下例所示。如果您这样做,您可以只使用 your_selection_widget.value 来获取当前选定的值:

# import libraries
import numpy as np
import pandas as pd

import hvplot
import hvplot.pandas

import holoviews as hv
hv.extension('bokeh', logo=False)

import panel as pn


# create sample data
df = pd.DataFrame({
'col1': np.random.rand(30),
'col2': np.random.normal(size=30),
'category_col': np.random.choice(['category1', 'category2'], size=30)
})

# create widget to select category
category = pn.widgets.Select(options=['category1', 'category2'])

# function that returns a plot depending on the category selected
@pn.depends(category)
def get_plot(category):
df_selected = df[df['category_col'] == category]
plot = df_selected.hvplot.scatter(x='col1', y='col2')
return plot

# show dashboard with selection widget and dynamic plot
pn.Column(
pn.Row(category),
get_plot,
)

# get value of current selected category
category.value

您可以在此处找到有关如何创建交互式仪表板的更多信息:
https://panel.pyviz.org/gallery/apis/stocks_hvplot.html#gallery-stocks-hvplot

关于python - 如何在HoloViews中获取小部件 "handler",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59066752/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com