5

Python Pandas DataFrame 有一个to_latex方法:

import pandas as pd
from numpy import arange

a = pd.DataFrame(arange(4))
a.to_latex()

输出:

'\begin{表格}{|l|c|c|}\n\hline\n{} & 0 \\\n\hline\n0 & 0 \\\n1 & 1 \\\n2 & 2 \\\ n3 & 3 \\\n\hline\n\end{表格}\n'

我想将此表覆盖在 matplotlib 图上:

import pylab as plt
import matplotlib as mpl

mpl.rc('text', usetex=True)
plt.figure()
ax=plt.gca()

plt.text(9,3.4,a.to_latex(),size=12)
plt.plot(y)
plt.show()

但是,我收到此错误:

RuntimeError:LaTeX 无法处理以下字符串:'\begin{tabular}{|l|c|c|}'

我的问题是:

如何在 matplotlib 图中渲染 Pandas 'to_latex' 方法的输出?

4

1 回答 1

7

问题是 matplotlib 不能很好地处理多行乳胶字符串。解决它的一种方法是用空格替换乳胶字符串中的换行符。也就是说,做这样的事情:

ltx = a.to_latex().replace('\n', ' ')
plt.text(9, 3.4, ltx, size=12)
于 2013-02-23T16:05:03.590 回答