2016-05-20 6 views
1

凡例を左右に整列させ、等号が整列するように妥当性を確認したいと思います。たとえば、私は次のコードを持っている:pyplot凡例の内部スペースを追加する

import numpy as np 
import matplotlib.pyplot as plt 

KEu = 100. 
KEm = 50. 
KEl = 5. 
X = np.linspace(1,10,10) 

fig = plt.figure() 
ax = plt.subplot(111) 
ax.plot(X,KEu*X,label='Maximum Energy = {0:6.2f} MeV'.format(KEu)) 
ax.plot(X,KEm*X,label='Median Energy = {0:6.2f} MeV'.format(KEm)) 
ax.plot(X,KEl*X,label='Minimum Energy = {0:6.2f} MeV'.format(KEl)) 
ax.legend(loc='upper left') 
plt.show() 

を私は以下の書かれた例を与えるように、プロットを追加する方法がわからない:

-- Maximum Energy = 100.00 MeV 
-- Median Energy = 50.00 MeV  
-- Minimum Energy = 5.00 MeV 

引用符はこれを掲示する必要があるように見えますそうでなければ、SOはそれがフォーマットの悪いコードだと思っています。ダッシュは線を表します。

私は左揃えにしたいと思います。=は整列され、小数は整列されます。もちろん

-- Maximum Energy = 100.00 MeV 
-- Median Energy = 50.00 MeV 
-- Minimum Energy = 5.00 MeV 

完璧ではありません、と私は私のプロットで行うことができる最高のかもしれないが、私はオリジナルよりも良いそれを好き:ような何か。

空白を追加しようとしたので、これを手動で行う必要があると仮定します。左揃えと右揃えに文字列を組み合わせてみましたが、成功しません。

これは可能ですか?

おかげ

答えて

2

これは固定幅フォント、すなわち、monospaceことが可能です。

import numpy as np 
import matplotlib.pyplot as plt 

KEu = 100. 
KEm = 50. 
KEl = 5. 
X = np.linspace(1,10,10) 

fig = plt.figure() 
ax = plt.subplot(111) 
ax.plot(X,KEu*X,label=r"Maximum Energy = {0:6.2f} MeV".format(KEu)) 
ax.plot(X,KEm*X,label=r"Median Energy = {0:6.2f} MeV".format(KEm)) 
ax.plot(X,KEl*X,label=r"Minimum Energy = {0:6.2f} MeV".format(KEl)) 
ax.legend(loc='upper left', prop={'family': 'monospace'}) 
plt.show() 

enter image description here

関連する問題