1

我需要使用 python 从数据中生成一些数字。它必须在标签、图例和标题中包含 Latex 文本,而输出格式必须是 .emf(封装的元文件,在 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 实例没有属性”。有没有人有这个问题的解决方案?提前致谢!

4

1 回答 1

0

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

from matplotlib import textpath 

在类 RendererEMF 的类定义中添加行

self._text2path = textpath.TextToPath() 

初始化方法中。至少对我来说,这个修复了 emf 中的乳胶渲染。

于 2014-02-19T06:21:46.743 回答