EMF数据来自Python的乳胶文本 - 渲染器错误

时间:2013-01-23 18:31:13

标签: python latex .emf

我需要使用python从数据中生成一些数字。它必须在标签,图例和标题中包含Latex文本,而输出格式必须是.emf(Encapsulated Metafile,可在M $ Word中读取)。

from pylab import *
from matplotlib import rc
import matplotlib.pyplot as plt
from sympy import pretty_print as pp, latex
import os
ion()

close('all')

rc('font',**{'family':'sans-serif','sans-serif':['Helvetica']})
matplotlib.pyplot.rc('text', usetex=True)
matplotlib.rc('xtick',  labelsize = 12);
matplotlib.rc('ytick',  labelsize = 12);
matplotlib.rc('legend', fontsize  = 12);

A = loadtxt('Data.txt', unpack=True)

p1, = plot(A[0,:],A[1,:])

xlabel('time [s]', fontsize=14)
ylabel('Current i_1 [A]',fontsize=14)
title('Phase current',fontsize=14)
legend([p1],['i_1'], frameon=True, loc='upper right')
grid(True)
savefig('data.emf')

错误是这样的:“ RendererEMF实例没有属性”。有没有人有这个问题的解决方案?提前谢谢!

1 个答案:

答案 0 :(得分:0)

这是由于matplotlib.textpath模块之间缺少链接。你可以通过编辑文件[python libs的路径] /matplotlib/backends/backend_emf.py来解决这个问题。在此文件的标题中添加行

from matplotlib import textpath 

在类RendererEMF的类定义中添加行

self._text2path = textpath.TextToPath() 
init 方法中的

。至少对我而言,这种固定的乳胶在emf中呈现。