0

我正在尝试在 png 中创建一个表格。

表中的数据包含非ascii字符。(假设是中文什么的)

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

4

2 回答 2

1

它可能(稍微)依赖于平台,但我更喜欢unicode用于中文和其他语言。另一件事是您需要确保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()

在此处输入图像描述

于 2013-10-21T21:37:37.937 回答
0

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

找到这条线

#font.sans-serif

并在此行中添加您的字体。

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

在这里,我给出了两条路径:

  1. ~\AppData\Local\Enthought\Canopy\User\Lib\site-packages\matplotlib\mpl-data
  2. $HOME.matplotlib\fontList.cache

PS:Windows 7。

于 2015-03-25T08:30:56.167 回答