Python 底图子地块有问题

Python 底图子地块有问题,python,matplotlib,Python,Matplotlib,我需要用n个底图子地块绘制一个图。但是当我这样做的时候,所有的值都被绘制在第一个子图上 我的数据是一组“n”矩阵,存储在data\u all中 f, map = plt.subplots(n,sharex=True, sharey=True, figsize=(20,17)) plt.subplots_adjust(left=None, bottom=None, right=None, top=None, wspace=None, hspace=0.)

我需要用n个底图子地块绘制一个图。但是当我这样做的时候,所有的值都被绘制在第一个子图上

我的数据是一组“n”矩阵,存储在
data\u all

f, map = plt.subplots(n,sharex=True, sharey=True, figsize=(20,17))

plt.subplots_adjust(left=None, bottom=None, right=None, top=None,
                    wspace=None, hspace=0.)

for i in range(n):
    map = Basemap(projection='merc', lat_0=0, lon_0=180,
                  resolution='h', area_thresh=0.1,
                  llcrnrlon=0, llcrnrlat=-45,
                  urcrnrlon=360, urcrnrlat=45)
    map.drawcoastlines(linewidth=0.5)
    map.drawmapboundary()
    map.drawmapboundary()
    nx = data_all.shape[0]
    ny = data_all.shape[1]
    lon, lat = map.makegrid(ny[i], nx[i])
    z,y = map(lon, lat)
    cs = map.contourf(z, y, data_all[i])
希望这对你有帮助。
它显示了如何制作多面板绘图。

我目前无法测试它,但基本上,您只需要告诉basemap要使用哪些轴

例如:

import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap

fig, axes = plt.subplots(nrows=4, ncols=3)
for ax in axes.flat:
    map_ax = Basemap(ax=ax)
    map_ax.drawcoastlines()
plt.show()

请注意:
地图
是一张地图。设置具有该名称的变量必然会引起混淆。请参阅以了解OO和状态机接口之间的差异。我感谢您的回复。但我真正的问题是,当我尝试使用您的相同代码时…figsize增加,子地块仅在行中增加,数量增加,如13。他们的情节在维度上有问题。谢谢你的回复。但我真正的问题是当我尝试使用你的代码时…随着figsize的增加,比如说行中有13个或更多的子情节。他们的情节在尺寸上有问题。从mpl_工具箱中导入matplotlib.pyplot作为plt。basemap导入basemap fig,轴=plt。轴中ax的子批次(13,figsize=(10,15)。平面:map_ax=basemap(ax=ax,projection=merc',lat_0=0,lon_0=120,分辨率='h',面积阈值=10000,llcrnrlon=60,llcrnrlat=-20,urcrnrlon=180,urcrnrlat=20)map_ax.DrawCoasterlines()plt.show()但是它可以处理1-2个子地块。