如何防止Matplotlib中字体系列的更改?
我已经编写了一个简单的代码来绘制两个函数-f(x)和g(x)。我的字体有问题。我已经将“Times New Roman”定义为全局字体,但是如果我尝试使用斜体-$$,字体会发生变化。我希望函数f(x)和g(x)中的变量x是斜体,并且是“Times New Roman” 可以看出,f中的x和图例中的g都是斜体,但不是“Times New Roman”字体 这是我的代码,我使用的是python 3.7如何防止Matplotlib中字体系列的更改?,matplotlib,fonts,python-3.7,Matplotlib,Fonts,Python 3.7,我已经编写了一个简单的代码来绘制两个函数-f(x)和g(x)。我的字体有问题。我已经将“Times New Roman”定义为全局字体,但是如果我尝试使用斜体-$$,字体会发生变化。我希望函数f(x)和g(x)中的变量x是斜体,并且是“Times New Roman” 可以看出,f中的x和图例中的g都是斜体,但不是“Times New Roman”字体 这是我的代码,我使用的是python 3.7 import scipy as sy from matplotlib import pyplo
import scipy as sy
from matplotlib import pyplot as plt
x = sy.linspace(0, 4.188, 100)
y1 = -sy.sqrt(x) - x*sy.sqrt(x) + 0.4*x**2
y2 = - sy.exp(0.25*x) + x**0.6
plt.rcParams['font.family']='Times New Roman'
fig_1 = plt.figure(1, figsize=(1.25*6.4,1.25*4.8))
chart_1 = fig_1.add_subplot(1,1,1)
chart_1.plot(x,y1, '-k', linewidth = 2, label = 'f($x$)')
chart_1.plot(x,y2, '-b', linewidth = 2, label = 'g($x$)')
chart_1.tick_params(direction='in', size=8, width=1.0, labelsize=20)
chart_1.set_xlabel('time, s', fontsize = 24)
chart_1.set_ylabel('Force, N', fontsize = 24)
chart_1.set_xlim(0,5)
chart_1.set_ylim(-4,0)
chart_1.xaxis.set_ticks_position('both')
chart_1.yaxis.set_ticks_position('both')
chart_1.legend(fontsize = '20',bbox_to_anchor=(0.85,.7), edgecolor='k', borderpad = .25)
plt.show()
有解决此问题的方法吗?美元符号之间的文本
$…$
不是斜体,而是发送到进行处理的文本
根据上面的链接,mathtext有自己的rc参数和更改所用字体的方法,包括使用$\mathdefault{…}$
来匹配常规文本。但是,如果您不想使用无法用普通文本书写的符号和方程式,最好不要使用mathtext