使用具有日期时间维度的xarray DataArray中的数据着色器进行绘图

问题描述

我有一个2d的xarray DataArray。一个维度是频率,另一个维度是时间。创建DataArray时,我指定了坐标。

data = np.memmap(fname,np.float32,mode="c")
dx = xr.DataArray(data,coords=[dt,freqs],dims=["Time","Frequency"])

我遇到的问题是,如果我将时间坐标(dt)定义为大熊猫date_range或timedelta_range

times = pd.date_range("2020-10-13",periods=data.shape[0],freq='81.92U')

times = pd.timedelta_range(start="0 millisecond",freq='81.92U')

数据着色器引发错误

TypeError: Cannot cast ufunc less input from dtype('<m8[ns]') to dtype('<m8') with casting rule 'same_kind'

运行后

import datasahder as ds
cvs = ds.Canvas(plot_width=1000,plot_height=300)
agg = cvs.raster(dx.T,interpolate='linear')
img = tf.Images(tf.shade(agg,cmap=gray,name="linear interpolation (default)"))

但是,我可以将时间坐标指定为np.arange对象,它具有int类型,并且工作正常。但是然后我从数组中丢失了日期时间信息。

有没有解决的办法?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)