2017-12-05 26 views
0

私のmatplotlibの伝説のタイトルは、伝説の内容からより遠くなるようにしたいと思います。matplotlibの凡例のタイトルパッド

Current legend, with title too close to content私はLegendクラスのset_title機能がtext properties pageで説明したものでなければなりませんprop辞書を、受け入れ参照:現在、私は次のよう持っています。これにはフィールドbboxが含まれ、padプロパティを追加できます。私は、次の

legend.set_title('Legend', prop={'bbox':{'pad':somepad}}) 

Pythonのような何かをしようとすると、しかしbboxが受け入れパラメータではないと文句を言い。

私はArch LinuxでPython 3.6.3でmatplotlib 2.1.0を使用しています。

legend.set_title('Legend\n ') 

1が結果を好むかもしれませんが、matplotlibのは、すべてがわずかなディテールに設定することができるという大きな利点を持っているので、I:


明白な回避策は、このように、改行を追加することになりますこの間隔をより細かく制御できる解決策を探しています。

+0

'prop'は' TextProperties'ではなく 'FontProperties'のためのものです。 – Goyo

答えて

0

もちろん、タイトルテキストに改行を導入するにはlegend.set_title('Legend\n ')が有効です。

あなたは

legend._legend_box.sep = 20 

完全な例として、手動でタイトルと凡例ハンドルボックス間の分離を設定することができることを好きではない場合:デフォルトの分離がある

import matplotlib.pyplot as plt 

plt.plot([1,2], label="some") 
plt.plot([1,3], label="label") 

legend = plt.legend(title="Legend title", ncol=2) 
legend._legend_box.sep = 20 

plt.show() 

enter image description here

labelspacing * fontsize、したがって

plt.rcParams["legend.labelspacing"] * plt.rcParams["font.size"] == 0.5 * 10 == 5 
関連する問題