1

我试图在我的轴标签中放置一个直立的 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()

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

spyder 的 python 解释器做了什么我没有做的?无论脚本从哪里运行,我需要导入什么才能使其正常工作?

注意:我知道我也可以执行类似“A distance ($\mu$m)$,但这会创建一个斜体 mu,这对于单位的印刷来说是不正确的......

4

1 回答 1

2

来自Matplotlib 中的非 ASCII 字符添加这一行的建议起到了作用:

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

我以为我已经涵盖了这一点,因为我在我的 rcParams 字典中添加了以下行:

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

显然不是一回事。

于 2013-09-09T13:48:35.140 回答