2013-01-23 3 views
1

파이썬을 사용하여 데이터에서 일부 수치를 생성해야합니다. 레이블 형식, 범례 및 제목에 라텍스 텍스트가 있어야하며 출력 형식은 .emf (캡슐화 메타 파일, M $ Word에서 읽을 수 있어야 함) 여야합니다.Python의 라텍스 텍스트가있는 EMF 수치 - 렌더러 오류

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 인스턴스는 어떤 속성이 없습니다." 누구든지이 문제에 대한 해결책을 가지고 있습니까? 미리 감사드립니다!

답변

0

이것은 matplotlib.textpath 모듈 간의 링크가 누락 되었기 때문입니다. 이 문제는 [python libs의 경로] /matplotlib/backends/backend_emf.py 파일을 편집하여 해결할 수 있습니다. 이 파일의 헤더에서 초기화 방법으로 라인을

self._text2path = textpath.TextToPath() 

를 추가 RendererEMF 클래스의 클래스 정의에서 라인

from matplotlib import textpath 

를 추가합니다. 적어도 나를위한 emf에 고정 된 라텍스 렌더링.