Отсутствующие значения оси при построении переменной NetCDF в группе с xarray

Я создаю файл NetCDF, который будет использоваться с xarray, Он будет состоять из множества групп, которые используют измерения, определенные в корневой группе. В моем текущем примере xarray"s plot Функция не может поставить правильные значения на осях. Инструменты как panoply или же ncview создайте графики, которые помещают правильные значения размеров по осям. Сценарий ниже создает файл, который позволяет мне воспроизвести проблему. Должен ли я создать файл NetCDF неправильным способом, или это ошибка в xarray?

import numpy as np
import netCDF4 as nc
import xarray as xr
import matplotlib.pyplot as plt

# Three series, two variables that contain the axis values and the 2D field.
z = np.arange(0., 1000., 50.)
time = np.arange(0., 86400., 3600.)
a = np.random.rand(time.size, z.size)

# The two dimensions are stored in the root group.
nc_file = nc.Dataset("test.nc", mode="w", datamodel="NETCDF4", clobber=False)
nc_file.createDimension("z"   , z.size   )
nc_file.createDimension("time", time.size)

nc_z    = nc_file.createVariable("z"   , "f8", ("z")   )
nc_time = nc_file.createVariable("time", "f8", ("time"))
nc_z   [:] = z   [:]
nc_time[:] = time[:]

# The 2D field is created and stored in a group called test_group.
nc_group = nc_file.createGroup("test_group")

nc_a = nc_group.createVariable("a", "f8", ("time", "z"))
nc_a[:,:] = a[:,:]

nc_file.close()

# Opening the file in x-array shows a plot that misses the axes values.
xr_file = xr.open_dataset("test.nc", "test_group")
xr_a = xr_file['a']
xr_a.plot()
plt.show()

Результирующая фигура, которая имеет только количество, а не значения измерений на осях, имеет вид: Итоговый сюжет

0 ответов

Другие вопросы по тегам