簡體   English   中英

從兩個歷史時間點之間的數據 map 上的數組中刪除點

[英]Removing points from an array on a data map between two historical timepoints

我目前有 2 個不同時間段(1901-2021、1979-2021)的“數據地圖”。 我想減去地圖中的網格點,以顯示降水較多的區域之間的差異。 我不確定我可以查找什么來研究這個。 請指教。

謝謝

import xarray as xr
import numpy as np
import matplotlib.pyplot as plt
from matplotlib import cm
import cartopy.crs as ccrs
from cartopy import feature as cf
from cartopy.mpl.gridliner import LONGITUDE_FORMATTER, LATITUDE_FORMATTER
import netCDF4
import scipy
from netCDF4 import Dataset
import netCDF4


in_file = r'/Users/shawnpreston/Desktop/my_project_DO_NOT_ERASE/precip/cru_ts4.06.1901.2021.pre.dat.nc'


Data=xr.open_dataset(in_file)
precip_data=Data['pre']

NHNA=precip_data.sel(lon = np.arange(-128.715, -64.557, 0.5), lat = np.arange(24, 50, 0.5), method='nearest')

#taking the years from Dec 1978 - December 2021
study_date = NHNA[935:1452]

#Dec 1949-Dec 1979
study_date_1950_1980 = NHNA[587:948]

#Dec 1989- Dec 2020
study_date_1990_2020 = NHNA[1067:1440]

seas_nhna = study_date.groupby('time.season').mean('time')
#1950-1980
season_nhna = study_date_1950_1980.groupby('time.season').mean('time')
#1990-2020
seasons_nhna = study_date_1990_2020.groupby('time.season').mean('time')


#Taking all the years to show difference
Seas_NHNA = NHNA.groupby('time.season').mean('time')



#plotting 1901-2021 precip
Seas_NHNA.plot.contourf(x = 'lon', y = 'lat', col = 'season', col_wrap = 2, cmap = 'Blues', vmin = 0, vmax = 200)

#plotting 1979-2021 precip
seas_nhna.plot.contourf(x = 'lon', y = 'lat', col = 'season', col_wrap = 2, cmap = 'Blues', vmin = 0, vmax = 200)

在此處輸入圖像描述 在此處輸入圖像描述

我試過將圖設置為變量並減去它們。

你可能想重命名你的變量,因為它們有點混亂。

根據Xarray文檔,您應該能夠從一個數據集中減去另一個數據集。

如果要將 1950-1980 數據與平均值進行比較:

season_all  = study_date.groupby('time.season').mean('time')
season_5080 = study_date_1950_1980.groupby('time.season').mean('time')
differences = season_5080 - season_all
differences.plot.contourf(...)

你可以看看下面的例子,他們做了類似的事情: Xarray monthly-means

為了回復您的評論,Xarray 在繪圖時使用了Facetgrid object,因此這可能是您的錯誤消息的來源。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM