If text.usetex
is enabled, then setting tick labels using Axes.set_xticklabels
causes the font to be changed (as if text.usetex
were disabled) for that axis.
import numpy as np
from matplotlib import pyplot as pt, rcParams
rcParams['text.usetex'] = True
x = np.linspace(0,10,101)
y = np.sin(x)
fig = pt.figure(figsize=(3.375, 2.5))
ax = fig.add_axes([.15,.15,.8,.8])
pt.plot(x, y)
pt.xlabel(r'$\alpha$')
pt.savefig('mpl_font_testA.png')
ax.set_xticklabels(np.arange(0,11,2))
pt.savefig('mpl_font_testB.png')
Example output is below.
After reading through the code for
ScalarFormatter
, it looks like the solution is to include “$” delimiters around the labels, e.g.: