Я строю значения элементов массива A, но я хотел бы закрасить элементы в A, где соответствующий элемент в массиве B превышает определенное значение (здесь: 6).Как я могу это сделать?В моем примере, приведенном ниже, я строю массив A в верхней части графика и массив B в середине.В нижнем графике элементы в массиве A, которые соответствуют элементам> 6 в массиве B, должны быть закрашены.Но это не то, как получается подзаговор с.
# Create the fake data
a = np.random.randint(10, size=11)
b = np.random.randint(10, size=11)
A = np.zeros([11,9])
B = np.zeros([11,9])
for n in np.arange(4):
A[:,n+2] = a.copy()
B[:,n+2] = b.copy()
X_array = np.arange(9)
Y_array = np.arange(11)
# Plot the arrays
my_cmap = cm.jet
my_bounds = np.arange(10)
my_norm = mpl.colors.BoundaryNorm(my_bounds, my_cmap.N)
fig, axes = plt.subplots(nrows=3, ncols=1, figsize=(9, 9))
x, y = np.meshgrid(X_array, Y_array)
axes[0].pcolor(x, y, A, cmap=my_cmap, norm=my_norm)
img = axes[0].pcolor(x, y, A, cmap=my_cmap, norm=my_norm)
axes[0].set_title('a) Array A', fontsize=10)
x, y = np.meshgrid(X_array, Y_array)
axes[1].pcolor(x, y, B, cmap=my_cmap, norm=my_norm)
axes[1].set_title('b) Array B', fontsize=10)
x, y = np.meshgrid(X_array, Y_array)
axes[2].pcolor(x, y, A, cmap=my_cmap, norm=my_norm)
axes[2].fill(A[B > 6], 'white', alpha=0.8)
axes[2].set_title('c) Shade A where B > 6', fontsize=10)
plt.subplots_adjust(bottom=0.12, hspace=0.05, wspace=0.05)
colorbar_ax = fig.add_axes([0.125, 0.055, 0.77, 0.015])
fig.colorbar(img, cax=colorbar_ax, orientation="horizontal")
plt.show()