我正试图在我的轴标签上放一个直立的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,对于单位而言印刷错误......
答案 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'})
显然不是一回事。