1

今日、いくつかの TeX を Figure にレンダリングしようとしましたが、うまくいきませんでした。text.usetex私は、matplotlibrc ファイルが に設定されていることに気付きましたFalse。スクリプトに追加rc('text', usetex=True)すると、軸ラベルも TeX としてレンダリングされますが、これは望ましくありません。matplotlib 1.3.0 の前にこれを設定する必要があったことを覚えていません。また、TeX のレンダリングに問題があったこともまったく覚えていません。

他の誰かがこの動作を経験していますか?

例:

import matplotlib.patheffects as PathEffects

# matplotlib.rc('text', usetex=True)

fig = plt.figure(figsize=(4,4))
ax = fig.add_axes([0,0,0.9,1])
ax.imshow(randn(20,20))
txt = ax.text(0.1, 0.5, r"Some \LaTeX\ $\alpha=\beta$", transform=ax.transAxes,fontsize=16)
txt.set_path_effects([PathEffects.Stroke(linewidth=3, foreground="w"), PathEffects.Normal()])

プロデュース:

ここに画像の説明を入力

「matplotlib.rc('text', usetex=True)」行のコメントを外すと、次のようになります。

ここに画像の説明を入力

4

1 に答える 1

2

あなたの「質問」は実際には質問ではありませんが、次の問題があると想定しています。

ラテックス フォントを使用してプロットにテキストを追加するか、使用せずに数学を追加するだけですrc('text', usetex=True)(デフォルトの rcparams ファイルでは、これがすべてのテキストに影響することが示されていることに注意してください)。

これを行うことができます:

import matplotlib.pylab as plt

fig = plt.figure()
plt.annotate(r"$\mathcal{G}r \epsilon \epsilon \kappa$", xy=(5, 2), size=26)
plt.annotate(r"default font", xy=(2, 5), size=16)
plt.annotate(r"latex font", xy=(2, 7), size=20, family='computer modern roman')
plt.plot(range(10))
plt.xlabel("some string")

ここに画像の説明を入力

それが多少役立つことを願っています!

于 2013-09-11T17:23:11.407 に答える