2016-07-12 3 views
1

とmatplotlibの伝説は、私はPythonのmatlplotlib伝説機能で、我々は例えば、「labelspacing」を使用して、ラベル間の間隔を調整することができることを知っています例えば、最初の2つのラベルの間のスペースがであり、2番目と3番目のラベルの間のスペースがのように表示されますか?Pythonの:</p> <pre><code>lgd = ax.legend(..., labelspacing=2) </code></pre> <p>が、私は間の複数のカスタム間隔を持つことができますカスタムlabelspacing

そうすることで、私のプロット内の線でラベルをうまく整列させることができます(プロット外)。これを実行する簡単な方法がありませんようplt.legend、凡例のエントリを管理するためにVPackerを使用するよう

答えて

1

は、ルックス:https://github.com/matplotlib/matplotlib/blob/master/lib/matplotlib/legend.py#L713

VPackerは、すべてのエントリの単一sepをサポートしています。 http://matplotlib.org/api/offsetbox_api.html#matplotlib.offsetbox.VPacker

はあなたを持っています伝説を手で描くことを考えましたか? (例:patches.Rectangleの白いボックスを描画し、plt.textのテキスト) これは、アイテムをプロットの内容と揃えるほうがずっと簡単になります。例えば は、次のように:

import matplotlib.pyplot as plt 
from matplotlib import patches 

rect = patches.Rectangle((0.7, 0.35), 0.2, 0.3, facecolor='white') 
plt.gca().add_patch(rect) 
plt.text(0.75, 0.58, 'my') 
plt.text(0.75, 0.5, 'custom') 
plt.text(0.75, 0.42, 'legend') 

custom legend

+0

あなたはそれがこれを行う方法です私に確信させました。 – Plug4

関連する問題