python - example - matplotlib: cambia la instancia del eje actual(es decir, gca())
subplot title python (1)
Utilizo un truco para dibujar una barra de colores cuya altura coincida con los ejes maestros . El código es como
import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid1 import make_axes_locatable
import numpy as np
ax = plt.subplot(111)
im = ax.imshow(np.arange(100).reshape((10,10)))
# create an axes on the right side of ax. The width of cax will be 5%
# of ax and the padding between cax and ax will be fixed at 0.05 inch.
divider = make_axes_locatable(ax)
cax = divider.append_axes("right", size="5%", pad=0.05)
plt.colorbar(im, cax=cax)
Este truco funciona bien. Sin embargo, dado que se agrega un nuevo eje, la instancia actual de la figura se convierte en cax, el eje adjunto. Como resultado, si uno realiza operaciones como
plt.text(0,0,''whatever'')
el texto se dibujará en cax en lugar de ax, el eje al que pertenece im.
Mientras tanto, los ejes gcf (). Muestran ambos ejes.
Mi pregunta es: cómo hacer que la instancia del eje actual (devuelta por gca ()) sea el eje original al que pertenece im.
Utilice plt.sca(ax)
para establecer los ejes actuales, donde ax
es el objeto de Axes
que desea activar.