首页 > 解决方案 > 当我在 hvplot 中使用数据着色器时,Y 轴不会在下拉选择中更新

问题描述

当我使用 groupby 制作普通的 hvplot 时,它会创建一个 DynamicMap,当我在下拉列表中选择不同的值时,y 轴会发生变化。这是我想要的行为。

但是,当我设置 datashade=True (具有大数据)时,y 轴保持固定,当我在下拉列表中选择不同的值时,这是不方便的。当我在下拉列表中选择不同的值时,我希望我的 y 轴自动更改。

请参见下面的示例:

# import libraries
import numpy as np
import pandas as pd

import hvplot
import hvplot.pandas

import holoviews as hv
hv.extension('bokeh')

# create sample data
col1 = np.random.normal(loc=0.0, size=[50, ])
col2 = np.random.normal(loc=300.0, size=[50, ])

df = pd.DataFrame(data={'col1': col1, 'col2': col2}).melt()

# argument datashade=True causes that y-axis isn't automatically updated, which I would like it to be
df.hvplot(kind='scatter', x='index', y='value', groupby='variable', dynspread=True, datashade=True)

datashade True 导致 y 轴不在 hvplot 中更新

标签: holoviewsdatashaderholovizhvplot

解决方案


只需添加.opts(framewise=True)到 hvplot 的结果,使其在所有情况下都独立地标准化每个帧:

df.hvplot(kind='scatter', x='index', y='value', groupby='variable', dynspread=True, datashade=False).opts(framewise=True)

推荐阅读