首页 > 解决方案 > 在cartopy上绘制问题

问题描述

我有一个 nc 文件,我无法绘制数据,数据是北极的冰数据,只有 cartopy 投影出现,或者数据根本没有正确绘制..

<xarray.Dataset> 维度:(时间:1,nv:2,xc:432,yc:432)坐标:

我注意到有二维纬度和二维经度,也许问题来自这里。数据集的名称是“海冰边缘和类型从 1978 年到现在的每日网格数据来自卫星观测。在数据描述中,我可以读到它是投影兰伯特方位角等面积(EASE-Grid 版本 2.0)以两极。

这是我的代码:

import os
import subprocess
import sys
import numpy as np
import xarray as xr
import matplotlib.pyplot as plt
#from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt
import matplotlib.animation as animation
from matplotlib.artist import Artist  
import time
import datetime
from netCDF4 import Dataset as Dataset
import getpass
import cartopy.crs as ccrs
from cartopy.mpl.gridliner import LONGITUDE_FORMATTER, LATITUDE_FORMATTER
import cartopy.feature as cfeat
from matplotlib import cm
import warnings
warnings.filterwarnings('ignore')
#def anim(i):
fig=plt.figure(figsize=(10,10))
from function_wm import xr_opening, mapCARTOPY
name='/home/ewen/Untitled_Folder/ice_type_nh_ease2-250_icdr-v2p0_202110181200.nc'
F1=xr_opening(name)
ice_type= F1['ice_type'].values
lats = F1.variables['lat'][:]
lons = F1.variables['lon'][:]
#lat=F1['lat'].values
#lon=F1['lon'].values
vect_temps=F1.time.values
    #F1.dropna()
ax = fig.add_subplot(111, projection=ccrs.LambertAzimuthalEqualArea(central_latitude=90,
                                          central_longitude= -90))
    #ax.set_extent([-11,20,60,89])
ax.coastlines()
ax.set_global()
ax.contourf(F1.xc,F1.yc,ice_type[0,:,:],transform=ccrs.LambertAzimuthalEqualArea(central_latitude=90,
                                          central_longitude= -90))
#anim(0)
plt.show()```

[result][1]


  [1]: https://i.stack.imgur.com/e1EBS.png

标签: pythoncartopy

解决方案


推荐阅读