凡例を表示するplt.legend
には3つのパラメータがあります.
- bbox_to_anchor
- loc
- borderaxespad
bbox_to_anchorでは, 凡例の枠の, 図全体に対する相対的な位置を決定します。 図全体の左下を(0, 0), 右上を(1, 1)としたタプルで与えます。この位置のことをアンカーと呼ぶことにします。
locでは、アンカー(bbox_to_anchorで指定した位置)に, 凡例の枠のどの部分を合わせるかを決定します。loc='upper left'ではアンカーに枠の左上を合わせ、loc='center'では中心を合わせるなどの設定ができます。
borderaxespadでは、アンカーと、locで指定した枠の部分の間の距離を設定することができます。
例
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
x = np.arange(0, 10, 0.1)
s = np.sin(x)
c = np.cos(x)
plt.plot(x, s, "r", label="sin")
plt.plot(x, c, "k", label="cos")
アンカーを右上にして、凡例枠の右上をアンカーに合わせる。余白をあけない。
plt.legend(bbox_to_anchor=(1, 1), loc='upper right', borderaxespad=0, fontsize=18)
アンカーを右上にして、凡例枠の右上をアンカーに合わせる。余白をあける。
plt.legend(bbox_to_anchor=(1, 1), loc='upper right', borderaxespad=1, fontsize=18)
アンカーを右下にして、凡例枠の右下をアンカーに合わせる。余白をあける。
plt.legend(bbox_to_anchor=(1, 0), loc='lower right', borderaxespad=1, fontsize=18)
アンカーを外の左下にして、凡例枠の左上をアンカーに合わせる。
plt.legend(bbox_to_anchor=(0, -0.1), loc='upper left', borderaxespad=0, fontsize=18)
アンカーを外の右上にして、凡例枠の左上をアンカーに合わせる。
plt.legend(bbox_to_anchor=(1.05, 1), loc='upper left', borderaxespad=0, fontsize=18)
locの候補
‘best’
‘upper right’
‘upper left’
‘lower left’
‘lower right’
‘right’
‘center left’
‘center right’
‘lower center’
‘upper center’
‘center’