使用matplotlib创建的EPS文件中文本显示不正确
我在使用matplotlib生成的eps文件中遇到了字体问题。
在eps文件里,字体显示正常,但当我把这个文件粘贴到Microsoft Word里时,文本(比如标签、刻度、标题等)却不显示了。
我已经尝试过修改maplotlib.rcParams
,因为之前遇到其他eps文件的文本问题时,这个方法有效,但这次没有用。
补充:我也尝试过更改matplotlib.use("xxx")
,但也没有帮助。
我的代码是:
# -*- coding: utf-8 -*-
import matplotlib
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
from matplotlib import cm
a = np.array([[1,2,3],[4,5,6],[7,8,9]])
fig = plt.figure(figsize=(12,10))
ax = fig.add_subplot(111, projection='3d')
plt.title("lalala",family='Courier New')
x = range(len(a))
y = range(len(a))
X,Y = np.meshgrid(x,y)
Z = a
ax.set_xlabel("X")
ax.set_ylabel("Y")
ax.set_zlabel("Z")
ax.plot_surface(X,Y,Z, cmap=plt.cm.Reds, cstride=1, rstride=1,alpha=0.3)
plt.savefig("texttestqua.eps")
plt.show()
有没有办法把eps文件里的文本“画出来”?也就是说,让文本不是“字体”,而是直接变成图形向量?
1 个回答
0
我不太确定你的问题是因为matplotlib无法正确保存你的eps文件,还是因为Microsoft Word无法加载除了emf/wmf以外的矢量图形……不过,我还是想试试。
其实有很多种后端可供选择(比如GTK、GTKAgg、GTKCairo、GTK3Agg、GTK3Cairo、CocoaAgg、MacOSX、Qt4Agg、Qt5Agg、TkAgg、WX、WXAgg、Agg、Cairo、GDK、PS、PDF、SVG),你有没有尝试过所有的,或者至少尝试过一些比较靠谱的?比如说,使用PS后端是否有效?
但是当我把这个文件粘贴到Microsoft Word里时,文本(标签、刻度、标题……)没有显示出来。
据我所知,Microsoft Word本身不支持矢量图形,除非是emf格式。你可以查看这个链接获取更多帮助。
如果这样还不能解决你的问题,请考虑更清楚地描述一下你的具体问题。