matplotlib: change l'instance de l'axe actuel (c'est-à-dire, gca ())

J'utilise une astuce pour dessiner une barre de couleur, dont la hauteur correspond à la maîtrise axes. Le code est comme

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)

Cette astuce fonctionne bien. Toutefois, étant donné un nouvel axe est ajouté, l'instance actuelle de la figure devient cax - joints en annexe de l'axe. En conséquence, si l'on effectue des opérations comme

plt.text(0,0,'whatever')

le texte sera rédigé sur cax au lieu de ax - l'axe de gi qui appartient.

Pendant ce temps, gcf().axes montre les deux axes.

Ma question est: Comment faire de l'axe actuel de l'instance (retourné par la gca()) l'original de l'axe de gi qui appartient.

source d'informationauteur Liang