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