use*_*217 5 python holoviews holoviz
当使用基于 xArray 数据的 HoloViews 创建绘图 (QuadMesh) 时,任何缺失的维度都会自动创建滑块等小部件以方便数据探索。例如:
hv_ds = hv.Dataset(data)
plot = hv_ds.to(hv.QuadMesh, kdims=["lon", "lat"], vdims="depth")
Run Code Online (Sandbox Code Playgroud)
由于数据包含 12 个月的数据,HoloViews 将根据经度和纬度创建 QuadMesh,使用深度作为值,然后提供一个滑块小部件来选择月份。它将把所有内容包装在一个 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
Run Code Online (Sandbox Code Playgroud)
我想检索“月份滑块小部件”的值以更新另一个图,但我找不到访问它的方法。没有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
Run Code Online (Sandbox Code Playgroud)
您可以在此处找到有关如何创建交互式仪表板的更多信息: https:
//panel.pyviz.org/gallery/apis/stocks_hvplot.html#gallery-stocks-hvplot
| 归档时间: |
|
| 查看次数: |
1104 次 |
| 最近记录: |