0

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)
4

1 に答える 1