решение состоит в том, чтобы определить набор данных как xarray
и преобразовать его в holoviews
набор данных при необходимости.
import numpy as np
import holoviews as hv
import xarray as xr
data = np.random.rand(100, 100, 3,10)
times = np.arange(0,10)
channels=['a','b','c']
ds = hv.Dataset((times,channels,
np.linspace(0., 1., 100),
np.linspace(0., 1., 100),
data),
kdims=['t', 'c', 'y', 'x'],
vdims=hv.Dimension('T', range=(0, .9)))
print(ds.select(c='a',t=0))
da = xr.DataArray(
np.random.rand(times.shape[0], len(channels), 100, 100),
[
("t", times),
("c", channels),
("y", np.linspace(0., 1., 100)),
("x", np.linspace(0., 1., 100)),
],
)
ds = da.to_dataset(name="T")
print(hv.Dataset(ds.loc[dict(c='a',t=0)]))