Я использую Hvplot для создания 2 диаграмм рассеяния в зависимости от категории, в которую попадают данные.
Поскольку точек данных очень много, я использую даташаду.
Мой график работает нормально, когда я не используюdatashade.
Однако, когда я установил datashade = True в своем коде ниже, я получаю следующую ошибку:
ПРЕДУПРЕЖДЕНИЕ: param.dynamic_operation: Callable повышенной "ValueError ('Категория столбца агрегации не найдена для элемента Scatter
[col1] (col2). Убедитесь, что агрегатор ссылается на существующее измерение.',) ". Вызывается как 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)