在matplotlib中写一个直立的mu

时间:2013-09-09 13:11:41

标签: python python-2.7 matplotlib spyder

我正试图在我的轴标签上放一个直立的mu,但是matplotlib只显示一个方框。

示例代码:

# -*- coding: utf-8 -*-
from matplotlib import pyplot as plt

plt.plot([1,2],[3,4])
plt.xlabel(u"A distance (μm)")
plt.show()

奇怪的是:当我在交互式python解释器中直接运行它时spyder在启动时打开,μ显示正常。当我从专用解释器中的.py文件运行它时,它显示为'?'或作为一个正方形。

spyder的python解释器做什么我不是?无论脚本从何处运行,我需要导入什么才能使其工作?

注意:我知道我也可以做一些像“距离($ \ mu $ m)$”这样的东西,但这会产生一个斜体mu,对于单位而言印刷错误......

1 个答案:

答案 0 :(得分:2)

来自Non-ASCII characters in Matplotlib的建议添加此行就可以解决问题了:

plt.rc('font', **{'sans-serif' : 'Arial', 'family' : 'sans-serif'})

我以为我已经把它覆盖了,因为我在rcParams字典中添加了以下行:

plt.rcParams.update({'font.sans-serif': 'Arial', 'font.family': 'sans-serif'})

显然不是一回事。