5

PythonPandasDataFrameには次のto_latexメソッドがあります。

import pandas as pd
from numpy import arange

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

出力:

'\ begin {tabular} {| l | c | c |} \ n \ hline \ n {}&0 \\\ n \ hline \ n0&0 \\\ n1&1 \\\ n2&2 \\\ n3&3 \\\ n \ hline \ n \ end {tabular} \ 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が複数行のラテックス文字列をうまく処理できないことです。これを修正する1つの方法は、ラテックス文字列の改行文字をスペースに置き換えることです。つまり、次のようなことを行います。

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