Posted on 2012-12-08 22:29
buf 阅读(1446)
评论(0) 编辑 收藏 引用 所属分类:
Misc
在mpl中绘制的图形通常保存成png图片,但是这种格式放在word里边缩放会变模糊。简单的解决办法(比较曲折):
mpl绘图保存为pdf->adobe reader打开->使用快照工具复制图片->在word中“选择性粘贴”,使用增强型图元方式
似乎ctrl+v直接粘贴和上述“选择性粘贴”的效果一样。
总的来说比粘贴png效果强多了。
另外,mpl绘图保存为pdf时,如果使用了中文字符,会出现一个错误提示。估计与字体设置有关,虽然显示中文可以在代码中直接指定字体,例如:
plt.title(u'中文标题', fontproperties='simhei')
但若需要保存为pdf,似乎必须修改配置文件,用户或系统级的(分别位于documents and settings/user/.matplotlib/matplotlibrc和Python27/Lib/site-packages/matplotlib/mpl-data/matplotlibrc),一种经过验证的修改是:(估计其它字体也是可以的吧)
font.family : monospace
font.monospace : Yahei Mono
需要将yahei_mono.ttf(13.8MB)复制到Python27/Lib/site-packages/matplotlib/mpl-data/fonts/ttf目录下
最后,字体啥的修改后都把documents and settings/user/.matplotlib/fontList.cache清除一次吧。
P.S. 以上标红的部分,测试过了,使用了Windows系统自带的华文细黑:
font.family : sans-serif
font.sans-serif : STXihei
另外还需要:
pdf.fonttype : 42
但是随便生成一个pdf都是6MB,参考http://blog.sina.com.cn/s/blog_57eac1ec01012h9i.html
生成文件偏大应该是“pdf.fonttype : 42”这个选项的关系,导致所有字体被嵌入pdf。
关于这个可以google:matplotlib pdf font subset