2013-01-23 36 views
1

我需要使用python從數據中產生一些數字。它必須在標籤,圖例和標題中包含Latex文本,而輸出格式必須是.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來解決這個問題。在該文件的頭部添加行

from matplotlib import textpath 

在類的類定義RendererEMF添加行

self._text2path = textpath.TextToPath() 

INIT方法。這個固定的膠乳至少對我來說是emf。