首页 > 解决方案 > 南极立体投影的cartopy问题

问题描述

我第一次使用 xarray。我的数据有维度(时间:1000,z_t:60,nlat:384,nlon:320)。我正在尝试在特定深度和时间绘制海洋温度。这在平板投影上是成功的,但是当我尝试切换到南极立体投影(使用 cartopy)时,我的情节是错误的。南极洲的海岸线与数据中的大陆轮廓不符。

首先,有效的代码部分:

import numpy as np
import numpy.ma as ma
import xarray as xr
from matplotlib import pyplot as plt
filename = '/glade/scratch/mb/127kaH11/TEMP_annual_1000yr.nc'
ds = xr.open_dataset(filename)

接下来是我尝试新投影的部分,它似乎无法正常工作:

# try to actually plot on SH projection now
# This is the map projection we want to plot *onto*
import cartopy.crs as ccrs

#choose a projection
proj = ccrs.SouthPolarStereo()
#ax.set_global()

ax = plt.subplot(111, projection=proj)

ds.isel(time=999, z_t=33).TEMP.plot.pcolormesh(ax = ax, transform=ccrs.PlateCarree())

ax.set_extent = ([-360, 0 , -90, -50], ccrs.PlateCarree())  

ax.coastlines()

我的另一个问题是第二张图片中的白色楔形。有人可以帮我缩小这个差距吗?过去我使用过 add_cyclic_point 但不确定这是否适用于此处或如何正确使用它。

非常感谢。

从第一个有效的片段创建的图

从第二个片段创建的图,这会导致问题

标签: python-xarraycartopy

解决方案


推荐阅读