¿Cómo elige pyplot.contourf colores de un mapa de colores?

He estado jugando con elfrom_levels_and_colors función, para que pueda tener una barra de colores extendida en un diagrama de pcolormesh, similar a contourf. Aquí está mi ejemplo de diagrama de contorno:

import numpy as np
import matplotlib.pyplot as plt

a = np.arange(12)[:,np.newaxis] * np.ones(8)
levels = np.arange(1.5, 10, 2)

plt.contourf(a, cmap='RdYlBu', levels=levels, extend='both')
plt.colorbar()

Para producir una gráfica de pcolormesh análoga, necesito proporcionar una secuencia de colores, así que tengo:

from matplotlib.colors import from_levels_and_colors

n_colors = len(levels) + 1
cmap = plt.get_cmap('RdYlBu', n_colors)
colors = cmap(range(cmap.N))
cmap, norm = from_levels_and_colors(levels, colors, extend='both')
plt.pcolormesh(a, cmap=cmap, norm=norm)
plt.colorbar()

Los cuatro colores del medio en pcolormesh son más claros que en el contorno. ¿Cómo podría elegirlos para que coincidan?

Respuestas a la pregunta(1)

Su respuesta a la pregunta