我在matplotlib的eps文件中有字体问题。
字体在die 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文件中“绘制”文本?所以文本不是“字体”而是图形矢量?

最佳答案

我不完全确定您的问题是由于matplotlib无法正确保存您的eps,还是由于Microsoft Word无法加载emf/wmf以外的矢量图形。。。
尽管如此,我还是要试试。。。
有相当多的后端(GTK GTK Agg GTK Cairo GTK3Agg GTK3Cairo cocoagg MacOSX Qt4Agg Qt5Agg TkAgg WX WXAgg Agg Cairo GDK PS PDF SVG),您是否尝试过全部或至少一个合理的子集?
例如,它是否适用于PS?
我在这里使用TkAgg后端,您的脚本为我生成以下输出:
python - 用matplotlib创建的EPS无法正确显示文本-LMLPHP
但是当我用微软Word粘贴文件时,它不会显示文本(标签、记号、标题…)
Afaik Microsoft Word不支持矢量图形,除非它是emf。有关进一步的指导,请参见this link
如果这不能解决你的问题,请考虑制定一个明确的问题。

关于python - 用matplotlib创建的EPS无法正确显示文本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22409502/

10-12 17:12
查看更多