Python 使用subplot2grid时,如何向matplotlib中的轴添加投影?

Python 使用subplot2grid时,如何向matplotlib中的轴添加投影?,python,matplotlib,cartopy,Python,Matplotlib,Cartopy,我正在尝试使用cartopy在五个不同的子地块中绘制五张地图。我想做的是在上面一行绘制三张地图,在下面一行绘制其余两张地图,但要集中最后两个子地块。我成功地通过以下方式添加子批次轴: import matplotlib.pyplot as plt fig = plt.figure() ax1 = plt.subplot2grid((2, 6), (0, 0), colspan=2) ax2 = plt.subplot2grid((2, 6), (0, 2), colspan=2) ax3 = p

我正在尝试使用cartopy在五个不同的子地块中绘制五张地图。我想做的是在上面一行绘制三张地图,在下面一行绘制其余两张地图,但要集中最后两个子地块。我成功地通过以下方式添加子批次轴:

import matplotlib.pyplot as plt
fig = plt.figure()
ax1 = plt.subplot2grid((2, 6), (0, 0), colspan=2)
ax2 = plt.subplot2grid((2, 6), (0, 2), colspan=2)
ax3 = plt.subplot2grid((2, 6), (0, 4), colspan=2)
ax4 = plt.subplot2grid((2, 6), (1, 1), colspan=2)
ax5 = plt.subplot2grid((2, 6), (1, 3), colspan=2)
然而,我找不到一种方法来用地图投影创建这些子地块。通常,对于偶数个子批次,我会:

import cartopy.crs as ccrs
fig, Ax = plt.subplots(nrows=2,ncols=3, subplot_kw=dict(projection=ccrs.PlateCarree()),constrained_layout=True)
但我不知道如何使用subplot2grid来实现这一点。这是可能的,还是有其他方法可以在matplotlib中创建跨越多行或多列的地图?

的文档 有

add\u子图
支持
projection=
关键字参数。因此

ax1 = plt.subplot2grid((2, 6), (0, 0), colspan=2, projection=ccrs.PlateCarree())
这就是你所需要的

ax1 = plt.subplot2grid((2, 6), (0, 0), colspan=2, projection=ccrs.PlateCarree())