matplotlib:带有科学记数法的粗体刻度标签

时间:2014-05-20 13:51:03

标签: python matplotlib

我想在matplotlib中使用LaTeX字体加粗刻度标签。可在此处找到示例图: sample plot

我正在使用的代码:

import matplotlib as mpl
import matplotlib.pyplot as plt

f=plt.figure(figsize=(10,10))
ax = f.add_subplot(111)
x_data = [x for x in range(0, 200)]
y_data = [pow(x,6) for x in x_data]


plt.rc('text', usetex=True)
plt.rc('font', family='serif')
plt.rc('font', size=24)
plt.rc('font', weight='bold')
plt.grid(True)


p3, = plt.plot(x_data,y_data,'g',linewidth = 7,ls='dashed',markersize=8,markeredgewidth=8)

ax.ticklabel_format(axis='y', style='sci', scilimits=(-2,2))
mpl.ticker.ScalarFormatter(useMathText = True)

plt.show()

问题是,我想让上角的1e13显示为$ 10 ^ 13 $,如果我遗漏的那样

mpl.ticker.ScalarFormatter(useMathText = True)

但它不是粗体字。有没有办法做到这一点?我知道我可以手动调整原始数据,但我很乐意有一个自动解决方案。

与此问题相关,我找到了以下主题:

matplotlib: format axis offset-values to whole numbers or specific number

Joe Kington写了一个类FixedOrderFormatter(ScalarFormatter),它允许将功率从1e13改为1e14。是否有可能将FixedOrderFormatter与科学记数法合并为$ 10 ^ 14 $,加粗字体而不是1e14?

0 个答案:

没有答案