x = np.linspace(0, 0.5)
y = x * (1.0 - x)

def as_si(x, ndp):
    s = '{x:0.{ndp:d}e}'.format(x=x, ndp=ndp)
m, e = s.split('e')
return '{m:s}\\times 10^{{{e:d}}}'.format(m=m, e=int(e))
a = 1.92e-07
plt.figure()
plt.plot(x, y)
plt.text(0.01, 0.23, '$a = {0:s}$'.format(as_si(a, 2)), size=20)
plt.show()
Displaying numbers with "X" instead of "e" scientific notation in matplotlib