Как можно построить один график (2D) данных sparse.COO (который организован с помощью xarray DataArray) с holoviews?
Давайте предположим, что у меня есть хорошо организованный xarray xr1, данные поступают из массива dask и Я преобразую эти данные в sparse.COO:
import sparse
xr1 = xarray.apply_ufunc(sparse.COO, xr1, dask="parallelized", output_dtypes=[xr1.dtype])
, тогда я не могу просто вырезать 2D-часть из моего xarray и сказать:
import holoviews as hv
hv.Scatter(xr1["DataArray1"].sel(dimension="dim1"))
, потому что это приводит к ошибке, говорящей:
.......
.......
.......\site-packages\holoviews\core\data\xarray.py in values(cls, dataset, dim, expanded, flat, compute)
327 data = data.compute()
328 data = cls.canonicalize(dataset, data, data_coords=data_coords,
--> 329 virtual_coords=virtual_coords)
330 return data.T.flatten() if flat else data
331 elif expanded:
.......\site-packages\holoviews\core\data\grid.py in canonicalize(cls, dataset, data, data_coords, virtual_coords)
287 # Allow lower dimensional views into data
288 if len(dataset.kdims) < 2:
--> 289 data = data.flatten()
290 return data
291
AttributeError: 'COO' object has no attribute 'flatten'
Я предполагаю, что форма результирующей агрегации данных как-то связана с этим, как с xr1["DataArray1"].sel(dimension="dim1")
Я получаю объект данных xr, такой как dask.array<getitem, shape=(100,), dtype=float64, chunksize=(80,), chunktype=sparse.COO>
вместо чего-то вроде shape = (100,1)!?
Я ценю любую помощь, спасибо!