Python 底图子地块有问题
我需要用n个底图子地块绘制一个图。但是当我这样做的时候,所有的值都被绘制在第一个子图上 我的数据是一组“n”矩阵,存储在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.)
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个子地块。