Jest to nie tyle odpowiedź na Twoje pierwotne pytanie, ile na jedno z pytań, które zadałeś w treści swojego pytania.
Mała preambuła, aby moje nazewnictwo nie wydawało się dziwne:
import matplotlib
from matplotlib import rc
from matplotlib.figure import Figure
ax = self.figure.add_subplot( 111 )
Jak już wspomniano, możesz użyć ticklabel_format, aby określić, że matplotlib powinien używać notacji naukowej dla dużych lub małych wartości:
ax.ticklabel_format(style='sci',scilimits=(-3,4),axis='both')
Możesz wpłynąć na sposób, w jaki jest to wyświetlane, używając flag w rcParams (z matplotlib import rcParams) lub ustawiając je bezpośrednio. Nie znalazłem bardziej eleganckiego sposobu zmiany notacji naukowej między „1e” a „x10 ^” niż:
ax.xaxis.major.formatter._useMathText = True
To powinno dać ci więcej Matlab-esc i prawdopodobnie lepszy wygląd. Myślę, że to samo powinno zrobić:
rc('text', usetex=True)