我想通过设置rcParameter' text.usetex = True'来渲染我的情节。并将其保存为pdf。
如果我设置' text.usetex = False'并将字体设置为' Times New Roman' - >只嵌入了TimesNewRomanPS-ItalicMT和TimesNewRomanPSMT(见usetex_false)。
但如果我设置' text.usetex = True' - >而不是时代只嵌入了cm-fonts(例如CMMI12,CMR10,...)(参见usetex_true)。
如何使用' text.usetex = True'并嵌入Times New Roman字体而不是cm-fonts?
我的代码:
"""
Demo of a line plot on a polar axis.
"""
import numpy as np
import matplotlib.pyplot as plt
with plt.rc_context({'text.usetex' : False, #---> no Times New Roman embedded when set to true, instead cm-fonts
'font.family' : 'serif',
'font.serif': 'Times New Roman',
'mathtext.fontset' : 'custom',
'mathtext.cal' : 'serif:cursive',
'mathtext.rm' : 'serif',
'mathtext.tt' : 'monospace',
'mathtext.it' : 'serif:italic',
'mathtext.bf' : 'serif:bold',
'mathtext.sf' : 'sans'}):
r = np.arange(0, 3.0, 0.01)
theta = 2 * np.pi * r
r = r*1000000000
ax = plt.subplot(111, projection='polar')
ax.plot(theta, r, color='b', linewidth=3)
ax.grid(True)
plt.title(r'Some text with latex in it $10_4 \times \theta = \Phi$')
plt.savefig(r'Test_text_embedded_of.pdf', papertype='None')
答案 0 :(得分:0)
对我来说,添加以下行有帮助:
from matplotlib.backends.backend_pgf import FigureCanvasPgf
import matplotlib as mpl
mpl.backend_bases.register_backend('pdf', FigureCanvasPgf)