使用matplotlib创建的EPS无法正确显示文本

时间:2014-03-14 15:37:15

标签: python fonts 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 :(得分: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?

我在这里使用TkAgg后端,你的脚本为我生成以下输出: screenshoted_eps_with_text

  

但是当我在Microsoft Word中粘贴文件时,它不会显示文本(标签,刻度,标题......)

Afaik Microsoft Word本身不支持矢量图形,除非它是emf。有关详细指导,请参阅this link

如果这不能解决您的问题,请考虑制定明确的问题。