1

ヒスト プロットを行っていて、プロットにいくつかの数値を表示したいので、テキストに mathtext を使用してテキスト ボックスに入れましたが、機能せず、理由がわかりません。

a = [2086., 360.5, 1000.]

b = [977., 37., 498.]

c = [4512., 690., 378.]


textstr = r'$\per50=%.2f$\n$\per16=%.2f$\n$\per84=%.2f$'%(a[0],b[0],c[0])

    # these are matplotlib.patch.Patch properties
    props = dict(boxstyle='round', facecolor='wheat', alpha=0.75)

    # place a text box in upper left in axes coords
    ax.text(0.05, 0.95, textstr, transform=ax.transAxes, fontsize=14,
            verticalalignment='top', bbox=props)

図の最後に、次のエラーが表示されます。

matplotlib.pyparsing.ParseFatalException: Expected end of math '$'
$\per50=2086.00$\n$\per16=977.00$\n$\per84=4512.00$ (at char 0), (line:1, col:1)

あなたが私を助けてくれることを願っています!

4

1 に答える 1

3

$\per$コマンドが存在しないため、そのエラーが発生しています。それはあなたが定義したラテックスコマンドですか?matplotlib パラメータtext.usetex=Trueを設定すると、latex プリアンブルを設定し、そこでコマンドを定義することができます。

rc('text', usetex=True)
rc('text.latex', preamble='something')

しかし、これを使用して新しいコマンドを定義できるとは思いません (また、プリアンブルの使用はお勧めしません)。したがって、最善の策は、matplotlib に明示的に記述すること\perです。

于 2012-12-21T12:42:21.280 に答える