轴上科学记数法的字体大小不一致

时间:2014-02-02 15:24:11

标签: python fonts matplotlib font-size

我正在尝试制作一个x轴将用科学记数法显示的图。我发现如何这样做的方法是使用ticklabel_format函数。不幸的是,这不符合我分配给轴中显示的数字的字体大小,见下图:

enter image description here

1e-121e4以不同的字体大小显示,即使我设置了相同的标签尺寸。

我该如何解决这个问题? (下面有MWE

import matplotlib.pyplot as plt
import numpy as np

t = np.arange(0.0, 10000.0, 10.)
s = np.sin(np.pi*t)*np.exp(-t*0.0001)

fig, ax = plt.subplots()

ax.tick_params(axis='both', which='major', labelsize=7)
plt.ticklabel_format(style='sci', axis='x', scilimits=(0,0), labelsize=7)
plt.plot(t,s)

plt.show()

3 个答案:

答案 0 :(得分:3)

根据ticklabel_format documentation,该函数不接受labelsize参数。

您可以使用matplotlib.rc更改字体大小:

plt.rc('font', size=7)

enter image description here

答案 1 :(得分:1)

我想这是因为科学表示不被视为刻度标签,您可以使用:

import matplotlib
matplotlib.rc('font', size=7)

matplotlib.rcParams['font.size']=7

并删除labelsize=7

中的ax.tick_params

答案 2 :(得分:0)

我认为这将对您有所帮助,而无需更改全局设置:

ax.yaxis.get_offset_text().set_fontsize(size)