【发布时间】:2015-07-07 14:34:46
【问题描述】:
我在 matplotlib 中使用乳胶输出来打印轴和图例的希腊符号。 (衬线)文本以正常字体粗细打印,但一些特殊字符以粗体打印。特别是,我指的是微的 mu,但也是 Angstrom 的(非希腊)符号。但是,其他希腊符号(例如 Omega)可以正常打印。我做了一个小例子来演示:
#!/usr/bin/python
# -*- coding: utf-8 -*-
import matplotlib as mpl
import matplotlib.pyplot as plt
mpl.rcParams['text.usetex'] = True
mpl.rcParams['text.latex.unicode'] = True
mpl.rcParams['font.family'] = 'serif'
mpl.rcParams['text.latex.preamble'] = [
r"\usepackage{textgreek}",
r"\usepackage{siunitx}"]
fig = plt.figure()
plt.plot([1, 2, 4], [0, 9, 7])
plt.xlabel(
r"\si{\micro\metre} " +
r"\si{\omega\metre} " +
r"\si{\nano\metre} " +
r"\si{\angstrom} " +
r"\si{\micro\metre}\textmu")
plt.show()
fig.savefig('test.png')
fig.savefig('test.pdf')
我在实时输出、矢量输出和图像输出上有这个问题。让我感到困惑的是,我在工作中的过时 Ubuntu 机器上使用了一个月的脚本,但安装了 python 3.3。现在我尝试在我的个人 Arch 机器上运行脚本,但我遇到了问题。
【问题讨论】:
标签: python matplotlib latex