Я пытаюсь построить 3 фигуры (каждая из которых содержит 12 подзаговоров в 6 строках и 2 столбцах) в цикле с базовой картойПо какой-то причине каждая фигура отображает только 10 из вспомогательных участков (никогда не первые два), где три из этих 10 вспомогательных участков ошибочно размещены на рисунке.
У меня были проблемы со съемкой кода более часа, иЯ до сих пор не вижу проблемы.Есть кто-то, кто может?Заранее спасибо!
Вот мой код:
# Imports
import matplotlib.cm as cm
import matplotlib as mpl
import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap
import numpy.ma as ma
import numpy as np
# Parameter Set-Up
N = ['A', 'B', 'C']
LAYER = ['1', '2', '3', '4', '5', '6']
data = np.random.randint(101, size=(len(N),2*len(LAYER),Lat_1x1,Lon_1x1))
# Basemap Set-Up
llc_LON = 139.5
urc_LON = 280.5
llc_LAT = -29.5
urc_LAT = 29.5
# Colorbar Boundary Definitions
cmap_data = cm.rainbow_r
cmap_data.set_bad(color='white')
data_plot = np.ma.array ( data, mask=np.isnan(data)) # Mask NaN
bounds_data = np.arange(0, 102, 2)
norm_data = mpl.colors.BoundaryNorm(bounds_data, cmap_data.N)
for n in np.arange(len(N)):
for L in np.arange(2*len(LAYER)):
plt.subplot(621+L)
m = Basemap(projection='cyl', llcrnrlon=llc_LON, urcrnrlon=urc_LON, llcrnrlat=llc_LAT, urcrnrlat=urc_LAT, resolution='c')
m.drawcoastlines(color='k')
m.fillcontinents(color='white') # mask land mass
lons, lats = np.meshgrid(lon,lat)
x, y = m(lons,lats)
m.pcolor(x, y, data_plot[n,L], cmap=cmap_data, norm=norm_data)
plt.xlim(llc_LON, urc_LON)
plt.xticks([150, 180, 210, 240, 270], ['150E', 'D', '150', '120', '90W']) # 140W to 80E
plt.ylim(llc_LAT, urc_LAT)
plt.yticks([-30, -15, 0, 15, 30], ['30S', '15S', '0', '15N', '30N']) # 30S to 30N
if L == 10 or L == 11:
plt.xlabel('Longitude')
plt.ylabel('Latitude')
plt.grid()
plt.subplots_adjust(bottom=0.1, right=0.8, top=0.9)
cax = plt.axes([0.82, 0.1, 0.075, 0.8])
plt.colorbar(cax=cax, label='%')
plt.suptitle('Test for '+N[n])
plt.show()