1. ホーム
  2. python

[解決済み】matplotlibのbbox_to_anchorとloc

2022-01-27 20:13:01

質問

私は matplotlib キーワードを使用して凡例の位置をカスタマイズするコード locbbox_to_anchor . 例えば、 :

fig.legend([line1, line2], ['series1', 'series2'], bbox_to_anchor=[0.5, 0.5], 
           loc='center', ncol=2)

私は、上記のバリエーションとして bbox_to_anchor の後に使用されます。 loc .

を使用する目的は理解しています。 bbox_to_anchorloc を個別に作成することができます。しかし、同じ凡例指定で両方を使用するメリットはあるのでしょうか? 私の理解や使い方からすると、もし bbox_to_anchor が指定されている場合、その loc パラメータは、ほとんど気にする必要はありません。

どなたかご確認ください。これに関するドキュメントが見当たりません。

解決方法は?

いつ bbox_to_anchorloc が一緒に使われている場合は loc の引数は matplotlib に凡例のバウンディングボックスのどの部分を配置すべきかを知らせます。 bbox_to_anchor . 例えば、(コマンドを少し簡略化しました)以下の3つのオプションは、凡例に異なる位置を生成します。

 fig.legend([line1], ['series1'], bbox_to_anchor=[0.5, 0.5], loc='center')
 fig.legend([line1], ['series1'], bbox_to_anchor=[0.5, 0.5], loc='center left')
 fig.legend([line1], ['series1'], bbox_to_anchor=[0.5, 0.5], loc='center right')

最初のコマンドは、バウンディングボックスの中心を軸座標0.5,0.5に配置します。 2番目のコマンドは、バウンディングボックスの左端を同じ座標に配置します(つまり、凡例が右に移動します)。 最後に、3番目のオプションは、バウンディングボックスの右の中心端を同じ座標に配置します(つまり、凡例を左にシフトします)。