我今天尝试在图中渲染一些TeX,但它没有用。我意识到,matplotlibrc文件中的text.usetex
设置为False
。
当我将rc('text', usetex=True)
添加到我的脚本中时,轴标签也会呈现为TeX,这是不合需要的。
我不记得曾经在matplotlib 1.3.0之前设置它,我绝对不记得渲染TeX有什么困难。
其他人遇到此行为?
示例:
import matplotlib.patheffects as PathEffects
# matplotlib.rc('text', usetex=True)
fig = plt.figure(figsize=(4,4))
ax = fig.add_axes([0,0,0.9,1])
ax.imshow(randn(20,20))
txt = ax.text(0.1, 0.5, r"Some \LaTeX\ $\alpha=\beta$", transform=ax.transAxes,fontsize=16)
txt.set_path_effects([PathEffects.Stroke(linewidth=3, foreground="w"), PathEffects.Normal()])
产地:
取消注释`matplotlib.rc('text',usetex = True)'行,产生:
答案 0 :(得分:2)
你的“问题”不是一个问题,但我假设你遇到了以下问题:
您想使用乳胶字体向绘图添加一些文本,或者只是在不使用rc('text', usetex=True)
的情况下添加数学(请注意,在默认的rcparams文件中,它表明这会影响所有文字)。
可以这样做:
import matplotlib.pylab as plt
fig = plt.figure()
plt.annotate(r"$\mathcal{G}r \epsilon \epsilon \kappa$", xy=(5, 2), size=26)
plt.annotate(r"default font", xy=(2, 5), size=16)
plt.annotate(r"latex font", xy=(2, 7), size=20, family='computer modern roman')
plt.plot(range(10))
plt.xlabel("some string")
希望有所帮助!