2012-12-24 4 views
17

私はPython(.pyファイル)でスクリプトを書いていますが、Matplotlibを使って配列をプロットしています。 プロットに数式を含む凡例を追加したいが、私はそれを行うことができなかった。 私はIPythonや端末でこれをやっています。この場合、次のように書く:Matplotlibを.pyファイル内で使用してプロットの凡例にラテックス式を書くにはどうすればよいですか?

legend(ur'$The_formula$') 

完璧に働いています。しかし、私はターミナル/ IPythonから私の.pyスクリプトを呼び出すと、これは動作しません。

+0

あなたは何をしようとしていて、うまくいかない場合はどうなりますか? – khagler

+0

答えの1つがあなたの問題を解決した場合は、それを受け入れてください(左に大きいグレーのチェックボックス) – tacaswell

答えて

17

を試し、Unicode文字列ですデータをプロットするときにラベルを割り当てることです。例:

import matplotlib.pyplot as plt 
ax = plt.gca() # or any other way to get an axis object 
ax.plot(x, y, label=r'$\sin (x)$') 

ax.legend() 
+0

ありがとう!これはうまくいった。凡例/軸に数式を書きたいときは、「r」が必要であるという事実を除いて。 – Titianne

+0

あなたはどのバージョンのpythonとmplを使用していますか? 'ax.plot(x、y、label = r '$ \ sin(x)$')'を使った場合、 '$ \\ sin $ 'の' LaTeX'エラーが出ます。 (私は2.7.3のPythonと出血エッジMPLです) – tacaswell

+0

私はPython 2.7.3とMpl 1.1.1を使用します。 – Titianne

4

それはラベルにコードを書く:

import pylab 

# code here 

pylab.plot(x,y,'f:', '$sin(x)$') 

ので、おそらくpylab.legend('$latex here$')

編集:

uは、それが最も簡単な方法であるだけでr'$\latex$'

関連する問題