5

无法在 matplotlib 中获得正确的标题: 'technologieën in °C'给出:technologieÃn in ÃC

已经尝试过的可能解决方案:

  • u'technologieën in °C' 不起作用
  • 也没有:# -*- coding: utf-8 -*-在代码文件的开头。

有什么解决办法吗?

4

2 回答 2

12

您需要传入unicode文本:

u'technologieën in °C'

请确保您使用# -*- coding: utf-8 -*-顶部的注释,并确保您的文本编辑器实际上正在使用该编解码器。如果您的编辑器将文件保存为 Latin-1 编码文本,请在标头中使用该编解码器等。注释向 Python 传达如何解释您的源文件,尤其是在解析字符串文字时。

或者,对 Unicode 文字中的任何非 ASCII 使用转义码:

u'technologie\u00ebn in \u00b0C'

并避免首先使用什么编解码器的问题。

我敦促您阅读:

在你继续之前。

大多数字体都支持°,但如果您看到显示的是一个框,那么您遇到了字体问题,需要切换到支持您尝试显示的字符的字体。例如,如果 Ariel 支持您所需的字符,则使用:

matplotlib.rc('font', family='Arial')

在绘图之前。

于 2013-07-08T11:52:41.657 回答
0

在 Python3 中,无需担心所有麻烦的 UTF-8 问题。

请注意,您需要在绘图之前设置 Unicode 字体。

matplotlib.rc('font', family='Arial')

于 2017-03-17T09:18:53.210 回答