Как правильно отобразить ось времени datetime64 [ns] на графиках xarray? - PullRequest
0 голосов
/ 03 июля 2018

У меня есть набор данных, который я строю таким образом

a = xr.open_dataset('out.nc').set_index(sSeg = 'reachID')
a.sel(sSeg = 17003601)['IRFroutedRunoff'].plot()
plt.show()

Тем не менее, временная ось отображается неправильно, даже если время в формате datetime64 [нс]. Как я могу построить вместо этого время?

enter image description here

Данные

печать (а [ 'время])

<xarray.DataArray 'time' (time: 19248)>
array(['2010-06-01T00:00:00.000000000', '2010-06-01T03:00:00.000000000',
       '2010-06-01T06:00:00.000000000', ..., '2016-12-31T15:00:00.000000000',
       '2016-12-31T18:00:00.000000000', '2016-12-31T21:00:00.000000000'], dtype='datetime64[ns]')
Coordinates:
  * time     (time) datetime64[ns] 2010-06-01 2010-06-01T03:00:00 ...
Attributes:
    long_name:  time

печать (а)

<xarray.Dataset>
Dimensions:            (sSeg: 8, sUps: 24, time: 19248)
Coordinates:
  * time               (time) datetime64[ns] 2010-06-01 2010-06-01T03:00:00 ...
  * sSeg               (sSeg) int64 17003601 17003602 17003603 17003604 ...
Dimensions without coordinates: sUps
Data variables:
    reachOrder         (sSeg) int32 ...
    reachList          (sUps) int32 ...
    listStart          (sSeg) int32 ...
    listCount          (sSeg) int32 ...
    basinArea          (sSeg) float64 ...
    upstreamArea       (sSeg) float64 ...
    instBasinRunoff    (time, sSeg) float64 ...
    dlayBasinRunoff    (time, sSeg) float64 ...
    sumUpstreamRunoff  (time, sSeg) float64 ...
    KWTroutedRunoff    (time, sSeg) float64 ...
    UpBasRoutedRunoff  (time, sSeg) float64 ...
    IRFroutedRunoff    (time, sSeg) float64 ...
...