[matplotlib] 8. 凡例

matplotlib

はじめに

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.pyplot.legend — Matplotlib 3.1.2 documentation
コードをダウンロード(.pyファイル)

コードをダウンロード(.ipynbファイル)

コメント

  1. […] [matplotlibの使い方] 8. 凡例matplotlibでは、凡例をplt.legend()またはax.legend()で表示できる。ここでは、その設定方法について説明する。sabopy.com2019.02.15 […]