はじめに
matplotlibでは、凡例をplt.legend()またはax.legend()で表示できる。ここでは、その設定方法について説明する。
解説
モジュールのインポート
データの生成
グラフに凡例を表示
ax.plot()で、labelを設定して、ax.legend()とすれば、凡例が表示される。
一部のplotの凡例を非表示にする
labelを設定しない、もしくは、label=”とすれば、凡例に表示されなくなる。
凡例の位置の設定
ax.legend()で、loc='lower left'
のようにすれば、下の左に凡例が配置される。その他の位置は、'best' , 'upper right' , 'upper left' , 'lower left' , 'lower right' , 'right' , 'center left', 'center right','lower center' , 'upper center' , 'center'
となっている。
frameon=False
で凡例の枠線を非表示にできる。
凡例を枠外に表示
loc=’lower left’, bbox_to_anchor=(1., 0.8)で凡例ボックスの左下の位置がグラフの相対的な位置で(1,0.8)になるので、凡例がグラフの枠外に表示される。
凡例を3列で表示
ax.legend()で ncolを設定することで、表示する列を設定できる。
凡例の幅を広げる
mode=’expand’で凡例の幅がグラフの幅まで拡大する。
凡例を分けて表示する
凡例は基本的にひとつのグラフにひとつしかないので、from matplotlib.legend import Legendでartistとしてのlegendを追加する必要がある。具体的には、lege = Legend(ax, l2, ‘C’,loc=’lower right’)で凡例を設定して、ax.add_artist(lege)でグラフ上に表示している。
Fancyboxと影の表示
fancybox=Trueで枠線の形状が変わり角が丸くなり, shadow=Trueで凡例に影が表示されるようになる。
凡例のタイトルを表示
titleで凡例の上にタイトルを表示できる。
凡例と枠線の間隔の調整
borderpadを大きくすることで凡例と枠線の間隔を広げることができる。
凡例同士の間隔の調整
labelspacingを大きくすることで凡例それぞれの間隔を広げることができる。
凡例の文字サイズの調整
fontsize=’xx-large’で凡例のフォントサイズを大きくするができる。整数を入れてもサイズが変更される。
コメント
[…] [matplotlibの使い方] 8. 凡例matplotlibでは、凡例をplt.legend()またはax.legend()で表示できる。ここでは、その設定方法について説明する。sabopy.com2019.02.15 […]