微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决使用具有日期时间维度的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 举报,一经查实,本站将立刻删除。