我需要使用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实例没有属性”。有没有人有这个问题的解决方案?提前谢谢!
答案 0 :(得分:0)
这是由于matplotlib.textpath模块之间缺少链接。你可以通过编辑文件[python libs的路径] /matplotlib/backends/backend_emf.py来解决这个问题。在此文件的标题中添加行
from matplotlib import textpath
在类RendererEMF的类定义中添加行
self._text2path = textpath.TextToPath()
init 方法中的。至少对我而言,这种固定的乳胶在emf中呈现。