我想绘制一些来自 xarray 数据集的卫星图像。我的数据有这个结构
<xarray.Dataset>
Dimensions: (time: 1, y_geostationary: 4176,
x_geostationary: 5548, variable: 1)
Coordinates:
* time (time) datetime64[ns] 2021-01-01
* variable (variable) <U3 'HRV'
* x_geostationary (x_geostationary) float64 -2.733e+06 ... 2.8...
* y_geostationary (y_geostationary) float64 1.395e+06 ... 5.57...
Data variables:
data (time, y_geostationary, x_geostationary, variable) float16 dask.array<chunksize=(1, 100, 100, 1), meta=np.ndarray>
x_geostationary_coordinates (time, x_geostationary) float64 dask.array<chunksize=(1, 5548), meta=np.ndarray>
y_geostationary_coordinates (time, y_geostationary) float64 dask.array<chunksize=(1, 4176), meta=np.ndarray>
我试着这样做。
import matplotlib.pyplot as plt
# Squeeze the dimensions of the satellite image
image = df['data'].squeeze()
# Plot the satellite image
plt.imshow(image, origin='lower')
plt.show()
但我不认为它工作正常,因为输出只是一个灰色的几乎正方形。
我不确定如何为此提供示例数据,但我希望有人能指出我正确的方向来绘制一般图像。
因为有4个维度,其中两个是奇异的,可以直接做下面的 例如,
ds = xr.open_dataset("file.nc")
ds['data'].plot(x='x_geostationary', y='y_geostationary')
或者你也可以做类似的事情
ds['data'].isel(time=0, variable=0).plot(x='x_geostationary', y='y_geostationary')