Encoding matplotlib pyplot表是否包含非ascii数据?

Encoding matplotlib pyplot表是否包含非ascii数据?,encoding,utf-8,matplotlib,Encoding,Utf 8,Matplotlib,我正在尝试用png创建一个表格图形 表中的数据包含非ascii字符。(假设是中文或其他) 我将unicode代码点(u'hello')传递给pyplot,它将字符显示为正方形 它可能(稍微)依赖于平台,但我更喜欢对中文和其他语言使用unicode。另一件事是,您需要确保ismatplotlib必须获得必要的字体。您可以在任何需要text的地方执行此操作,但有时不能使用mathtext # -*- coding: utf-8 -*- import matplotlib.pyplot as plt

我正在尝试用png创建一个表格图形

表中的数据包含非ascii字符。(假设是中文或其他)

我将unicode代码点(u'hello')传递给pyplot,它将字符显示为正方形

它可能(稍微)依赖于平台,但我更喜欢对中文和其他语言使用
unicode
。另一件事是,您需要确保is
matplotlib
必须获得必要的字体。您可以在任何需要
text
的地方执行此操作,但有时不能使用
mathtext

# -*- coding: utf-8 -*-
import matplotlib.pyplot as plt
import matplotlib
zhfont1 = matplotlib.font_manager.FontProperties(fname='/Library/Fonts/Kai.dfont') #I am on OSX.
s=u'\u54c8\u54c8' #Need the unicode for your Chinese Char.
plt.text(0.5,0.5,s,fontproperties=zhfont1, size=50) #example: plt.text()

另一种方法是修改matplotlib系统上的文件/matplotlibrc/

找到这条线

#font.sans serif

并将您的字体添加到此行中

然后需要将字体文件添加到matplotlib的字体目录中

这里我给出了两条路径:

  • ~\AppData\Local\enthund\Canopy\User\Lib\site packages\matplotlib\mpl data
  • $HOME.matplotlib\fontList.cache

  • PS:Windows 7。

    什么上下文?作为标签,作为文本,否则?另外:什么Python版本(2或3)可能与此相关。最后:给我们看看你的代码