В HoloViews HeatMap
действительно для категориальных данных.Если ваши данные являются числовыми, вы действительно хотите вычислить 2D гистограмму и использовать элемент hv.Image, вы можете сделать это с помощью np.histogram2d, например:
a, b = np.random.randn(1000, 2).T
df = pd.DataFrame({'a': a*10, 'b': b}, columns=['a', 'b'])
z, a, b = np.histogram2d(df['a'], df['b'])
hv.Image((a, b, z), ['a', 'b'], 'Count')
Или, если у вас много данных, вы можете использовать встроенную поддержку dashashader, чтобы сделать то же самое:
from holoviews.operation.datashader import rasterize
a, b = np.random.randn(1000, 2).T
df = pd.DataFrame({'a': a*10, 'b': b}, columns=['a', 'b'])
rasterize(hv.Scatter(df), width=10, height=10, dynamic=False)
Отрегулируйте ширину и высоту в соответствии с вашими потребностями или удалитеdynamic = False для динамического пересчета при масштабировании.