使用 Holoviews + Datashader 处理大型网格化数据
Using Holoviews + Datashader for large gridded data
我正在尝试将 (52608x11999) 网格化数据作为图像进行交互查看。我想放大给定的特征并让 datashader + holoviews 重新渲染适当数量的点。我正在看这个教程:https://datashader.org/getting_started/Interactivity.html
下面是一些我无法开始工作的带有虚拟数据的代码:
import numpy as np
import pandas as pd
import xarray as xr
import holoviews as hv
import holoviews.operation.datashader as hd
import hvplot.xarray # noqa
dates_ns = np.linspace(pd.Timestamp('2017-01-01').value, pd.Timestamp('2017-12-31').value, 365)
dates = pd.to_datetime(dates_ns)
t = np.linspace(-10,10,500)
data = np.random.rand(365,500)
data_xr = xr.DataArray(data, dims=['dates','time'], coords={'dates':dates, 'time':t})
img = hv.Image(data_xr)
hd.datashade(img)
我收到以下错误:
WARNING:param.dynamic_operation: Callable raised "AttributeError("'DataArray' object has no attribute '_file_obj'")".
Invoked as dynamic_operation(height=400, scale=1.0, width=400, x_range=None, y_range=None)
AttributeError: 'DataArray' object has no attribute '_file_obj'
谢谢!
这个问题应该很容易通过谷歌搜索错误消息加上“Datashader”来回答,引导你到 https://github.com/holoviz/datashader/issues/990,但无论如何答案是你需要 Datashader 0.12.1 或更高版本,如果你想使用 xarray 0.17 或更高版本。
我正在尝试将 (52608x11999) 网格化数据作为图像进行交互查看。我想放大给定的特征并让 datashader + holoviews 重新渲染适当数量的点。我正在看这个教程:https://datashader.org/getting_started/Interactivity.html
下面是一些我无法开始工作的带有虚拟数据的代码:
import numpy as np
import pandas as pd
import xarray as xr
import holoviews as hv
import holoviews.operation.datashader as hd
import hvplot.xarray # noqa
dates_ns = np.linspace(pd.Timestamp('2017-01-01').value, pd.Timestamp('2017-12-31').value, 365)
dates = pd.to_datetime(dates_ns)
t = np.linspace(-10,10,500)
data = np.random.rand(365,500)
data_xr = xr.DataArray(data, dims=['dates','time'], coords={'dates':dates, 'time':t})
img = hv.Image(data_xr)
hd.datashade(img)
我收到以下错误:
WARNING:param.dynamic_operation: Callable raised "AttributeError("'DataArray' object has no attribute '_file_obj'")".
Invoked as dynamic_operation(height=400, scale=1.0, width=400, x_range=None, y_range=None)
AttributeError: 'DataArray' object has no attribute '_file_obj'
谢谢!
这个问题应该很容易通过谷歌搜索错误消息加上“Datashader”来回答,引导你到 https://github.com/holoviz/datashader/issues/990,但无论如何答案是你需要 Datashader 0.12.1 或更高版本,如果你想使用 xarray 0.17 或更高版本。