对于Python中的Matplotlib,如何将刻度线和科学计数法的字体更改为mathtext?

时间:2020-04-20 11:35:12

标签: python matplotlib

我通过以下方式将字体更改为“ serif”:

matplotlib.rcParams['font.family'] = "serif"

并通过以下方式更改mathtext字体:

matplotlib.rcParams["mathtext.fontset"] = "cm"

我通过“

实现了数学格式
plt.ticklabel_format(style="sci", scilimits=(0,0), useMathText=True)

但是它不能更改字体。

如何尽可能简单地将字体标记和科学记号更改为mathtext?

我知道plt.rc("text", usetex=True)可以实现,但是会降低性能。 我需要一种通用的方法来实现它。

我的代码:

import numpy as np
T = np.arange(0,1000,1)
k = 1.380649e-23
m = np.matrix([2,28,32])*1.67e-27
v = np.sqrt(3*k*T/m.T)

import matplotlib; import matplotlib.pyplot as plt
matplotlib.rcParams["font.family"] = "serif"
matplotlib.rcParams["mathtext.fontset"] = "cm"

plt.ticklabel_format(style="sci", scilimits=(0,0), useMathText=True)
plt.title("Kinetic Theory of Gases")
plt.xlabel(r"Temperature ($\rm{K}$)"); plt.ylabel(r"Melocule Velocity ($\rm{ms^{-1}}$)")
plt.plot(T,np.array(v[0,:].T),label="Hydrogen")
plt.plot(T,np.array(v[1,:].T),label="Nitrogen")
plt.plot(T,np.array(v[2,:].T),label="Oxygen")

plt.legend(loc="best")

0 个答案:

没有答案