Ce n'est pas tant une réponse à votre question initiale qu'à l'une des questions que vous aviez dans le corps de votre question.
Un petit préambule, pour que mon nom ne semble pas étrange:
import matplotlib
from matplotlib import rc
from matplotlib.figure import Figure
ax = self.figure.add_subplot( 111 )
Comme cela a été mentionné, vous pouvez utiliser ticklabel_format pour spécifier que matplotlib doit utiliser la notation scientifique pour les valeurs grandes ou petites:
ax.ticklabel_format(style='sci',scilimits=(-3,4),axis='both')
Vous pouvez modifier la façon dont cela s'affiche en utilisant les indicateurs dans rcParams (à partir de matplotlib import rcParams) ou en les définissant directement. Je n'ai pas trouvé de moyen plus élégant de changer entre la notation scientifique '1e' et 'x10 ^' que:
ax.xaxis.major.formatter._useMathText = True
Cela devrait vous donner une apparence plus Matlab-esc, et sans doute meilleure. Je pense que ce qui suit devrait faire de même:
rc('text', usetex=True)