我使用的是OSX 10.8.2,使用的是Python 2.7.3和matplotlib 1.1.1。当我将我的绘图导出为基于位图的格式时,如JPEG或PNG,百分号被正确呈现,如下所示:

但是,当我将它们导出为基于矢量的格式时,例如PDF或PS,我得到的结果是:

我没有测试所有的字符,但可能会出现其他渲染错误。不管我选择哪个后端,例如PDF,我总是使用基于矢量的文件格式得到这个格式错误的字符。我使用matplotlib的标准字体设置,也就是说,这里没有自定义。
你知道为什么会发生这种情况吗?
发布于 2013-01-13 01:32:07
好了,这次我可以自己回答我的问题了。在设置文件matplotlibrc中,我必须将设置pdf.fonttype和ps.fonttype从代表输出类型3的标准设置3更改为代表TrueType的42。我不是字体专家,但似乎matplotlib使用的标准字体是TrueType字体。因此,必须设置正确的字体类型。
在Python中:
import matplotlib as mpl
mpl.rcParams['pdf.fonttype']=42发布于 2015-01-24 01:24:33
使用字体类型3(表示PDF或PS的本机字体格式)时,字体是子集。matplotlib 1.2之前的某些字体的字体子设置代码中存在错误。
因此,虽然这是一种有效的解决办法,但它会使文件变得更大。如果可以的话,最好升级matplotlib。
https://stackoverflow.com/questions/14295647
复制相似问题