Hvplot を使用して、データが属するカテゴリに基づいて 2 つの散布図を作成しています。
非常に多くのデータポイントがあるため、datashade を使用しています。
私のプロットは、datashade を使用しない場合でも問題なく動作します。
ただし、以下のコードで datashade=True を設定すると、次のエラーが発生します。
WARNING:param.dynamic_operation: Callable で "ValueError('Aggregation column category not found on :Scatter
[col1] (col2) element.Aggregator が既存のディメンションを参照していることを確認してください。',)" が発生しました。dynamic_operation (height=300、scale=1.0、width=1200、x_range=None、y_range=None) として呼び出されますValueError: 集計列のカテゴリが :Scatter [col1] (col2) 要素に見つかりません。アグリゲーターが既存のディメンションを参照していることを確認してください。
コード例:
# import libraries
import numpy as np
import pandas as pd
import hvplot
import hvplot.pandas
import holoviews as hv
hv.extension('bokeh')
from holoviews.operation.datashader import datashade
# create some sample data
sample_scatter1 = np.random.normal(loc=0.0, size=50)
sample_scatter2 = np.random.normal(loc=300., size=50)
sample_category = np.random.choice(2, size=50)
demo_df = pd.DataFrame({
'col1': sample_scatter1,
'col2': sample_scatter2,
'category': sample_category,
})
# this works fine if I would set datashade=False, but with datashade=True it gives an error
demo_df.hvplot(
kind='scatter',
x='col1', y='col2',
by='category',
subplots=True,
width=1200,
datashade=True
).cols(1)