matplotlib.axes.Axes.legend #
- 軸。伝説( *引数, ** kwargs ) [ソース] #
Axes に凡例を配置します。
呼び出し署名:
legend() legend(handles, labels) legend(handles=handles) legend(labels)
呼び出しシグネチャは、このメソッドを使用する次のさまざまな方法に対応しています。
1.凡例に表示する要素の自動検出
追加の引数を渡さない場合、凡例に追加される要素は自動的に決定されます。
この場合、ラベルはアーティストから取得されます。アーティストの作成時、またはアーティストの
set_label()
メソッドを呼び出して、それらを指定できます。ax.plot([1, 2, 3], label='Inline label') ax.legend()
また:
line, = ax.plot([1, 2, 3]) line.set_label('Label via method') ax.legend()
ノート
アンダースコア「_」で始まるラベルを使用して、特定のアーティストを凡例要素の自動選択から除外できます。アンダースコアで始まる文字列は、すべてのアーティストのデフォルト ラベルであるため、
Axes.legend
引数を指定せずに呼び出し、ラベルを手動で設定しないと、凡例が描画されません。2. 凡例にアーティストとレーベルを明示的に記載する
どのアーティストがレジェンド エントリを持つかを完全に制御するには、レジェンド アーティストのイテラブルに続いてレジェンド ラベルのイテラブルをそれぞれ渡すことができます。
ax.legend([line1, line2, line3], ['label1', 'label2', 'label3'])
3. 伝説にアーティストを明示的に記載する
これは 2 に似ていますが、ラベルはアーティストのラベル プロパティから取得されます。例:
line1, = ax.plot([1, 2, 3], label='label1') line2, = ax.plot([1, 2, 3], label='label2') ax.legend(handles=[line1, line2])
4. 既存のプロット要素にラベルを付ける
がっかり
プロット要素とラベルの間の関係はその順序によってのみ暗黙的であり、簡単に混同される可能性があるため、この呼び出しシグネチャはお勧めできません。
Axes 上のすべてのアーティストの凡例を作成するには、凡例アイテムごとに 1 つの反復可能な文字列でこの関数を呼び出します。例えば:
ax.plot([1, 2, 3]) ax.plot([5, 6, 7]) ax.legend(['First line', 'Second line'])
- パラメータ:
- のシーケンスを処理します。オプション
Artist
凡例に追加するアーティスト (ライン、パッチ) のリスト。凡例に表示されるものを完全に制御する必要があり、上記の自動メカニズムでは不十分な場合は、これをlabelsと一緒に使用します。
この場合、ハンドルとラベルの長さは同じでなければなりません。そうでない場合は、短い長さに切り捨てられます。
- ラベルstr のリスト、オプション
アーティストの横に表示するラベルのリスト。凡例に表示されるものを完全に制御する必要があり、上記の自動メカニズムでは不十分な場合は、これをhandlesと一緒に使用します。
- のシーケンスを処理します。オプション
- 戻り値:
- その他のパラメータ:
- loc str または float のペア、デフォルト:
rcParams["legend.loc"]
(デフォルト:'best'
) (軸の場合は「最適」、数値の場合は「右上」) 伝説の場所。
文字列 は、凡例を軸/図の対応するコーナーに配置します。
'upper left', 'upper right', 'lower left', 'lower right'
文字列 は、凡例を軸/図の対応するエッジの中心に配置します。
'upper center', 'lower center', 'center left', 'center right'
文字列
'center'
は、凡例を軸/図の中心に配置します。文字列
'best'
は、これまでに定義された 9 つの場所の中で、他の描画されたアーティストとの重複が最小限になる場所に凡例を配置します。このオプションは、大量のデータを含むプロットでは非常に遅くなる可能性があります。特定の場所を指定すると、プロット速度が向上する場合があります。位置は、凡例の左下隅の座標を軸座標で指定する 2 タプルにすることもできます (この場合、bbox_to_anchor は無視されます)。
下位互換性のために、(他の場所は不可) を綴ることもでき、各「文字列」の場所を数値として指定することもできます。
'center right'
'right'
ロケーション文字列
ロケーションコード
'一番'
0
'右上'
1
'左上'
2
'左下'
3
'右下'
4
'右'
5
「中央左」
6
「中央右」
7
「下中央」
8
「アッパーセンター」
9
'中心'
10
- bbox_to_anchor
BboxBase
、2 タプル、または float の 4 タプル locと組み合わせて凡例を配置するために使用されるボックス。デフォルトは
axes.bbox
(のメソッドとして呼び出された場合Axes.legend
) またはfigure.bbox
(の場合Figure.legend
) です。この引数により、凡例を任意に配置できます。Bbox 座標は、 bbox_transformによって指定された座標系で解釈され、 どちら
legend
が呼び出されるかに応じて、デフォルトの変換 Axes または Figure 座標が使用されます。4 タプル or
BboxBase
が指定されている場合 、凡例が配置される bbox を指定します。凡例を軸 (または図) の右下の象限の最適な位置に配置するには、次のようにします。(x, y, width, height)
loc='best', bbox_to_anchor=(0.5, 0., 0.5, 0.5)
2 タプルは、 locで指定された凡例の角をx、y に配置します。たとえば、凡例の右上隅を軸 (または図) の中央に配置するには、次のキーワードを使用できます。
(x, y)
loc='upper right', bbox_to_anchor=(0.5, 0.5)
- ncols int、デフォルト: 1
凡例の列数。
下位互換性のために、スペルncolもサポートされていますが、推奨されません。両方を指定すると、ncolsが優先されます。
- prop None or
matplotlib.font_manager.FontProperties
or dict 凡例のフォント プロパティ。なし (デフォルト) の場合、現在の
matplotlib.rcParams
ものが使用されます。- fontsize int または {'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'}
凡例のフォント サイズ。値が数値の場合、サイズはポイント単位の絶対フォント サイズになります。文字列値は、現在のデフォルトのフォント サイズに相対的です。この引数は、 propが指定されていない場合にのみ使用されます。
- labelcolor文字列またはリスト、デフォルト:
rcParams["legend.labelcolor"]
(デフォルト:'None'
) 凡例のテキストの色。有効な色の文字列 ('red' など)、または色の文字列のリスト。labelcolor は、'linecolor'、'markerfacecolor' (または 'mfc')、または 'markeredgecolor' (または 'mec') を使用して、線またはマーカーの色と一致させることもできます。
rcParams["legend.labelcolor"]
Labelcolor は(デフォルト: )を使用してグローバルに設定できます'None'
。None の場合はrcParams["text.color"]
(デフォルト:'black'
) を使用します。- numpoints int、デフォルト:
rcParams["legend.numpoints"]
(デフォルト:1
) Line2D
(線)の凡例エントリを作成するときの凡例のマーカー ポイントの数。- 散布点int、デフォルト:
rcParams["legend.scatterpoints"]
(デフォルト:1
) PathCollection
(散布図)の凡例エントリを作成するときの凡例のマーカー ポイントの数。- float の反復可能なscatteryoffsets 、デフォルト:
[0.375, 0.5, 0.3125]
散布図の凡例エントリ用に作成されたマーカーの (フォント サイズに対する) 垂直方向のオフセット。0.0 は凡例テキストの下部にあり、1.0 は上部にあります。すべてのマーカーを同じ高さに描画するには、 に設定し
[0.5]
ます。- マーカースケールfloat、デフォルト:
rcParams["legend.markerscale"]
(デフォルト:1.0
) 最初に描画された凡例マーカーと比較した凡例マーカーの相対的なサイズ。
- markerfirstブール値、デフォルト: True
Trueの場合、凡例マーカーは凡例ラベルの左側に配置されます。Falseの場合、凡例マーカーは凡例ラベルの右側に配置されます。
- frameon bool、デフォルト:
rcParams["legend.frameon"]
(デフォルト:True
) 凡例をパッチ (フレーム) に描画するかどうか。
- fancybox bool、デフォルト:
rcParams["legend.fancybox"]
(デフォルト:True
) FancyBboxPatch
凡例の背景を構成する の周囲で丸いエッジを有効にするかどうか。- shadow bool、デフォルト:
rcParams["legend.shadow"]
(デフォルト:False
) 凡例の背後に影を描画するかどうか。
- framealpha float、デフォルト:
rcParams["legend.framealpha"]
(デフォルト:0.8
) 凡例の背景のアルファ透明度。shadowがアクティブで、framealphaがの場合
None
、デフォルト値は無視されます。- facecolor "継承" または色、デフォルト:
rcParams["legend.facecolor"]
(デフォルト:'inherit'
) 凡例の背景色。の場合は(デフォルト: )
"inherit"
を使用します。rcParams["axes.facecolor"]
'white'
- edgecolor "継承" または色、デフォルト:
rcParams["legend.edgecolor"]
(デフォルト:'0.8'
) 凡例の背景パッチ エッジの色。の場合
"inherit"
、テイクを使用しますrcParams["axes.edgecolor"]
(デフォルト:'black'
)。- モード{"展開", なし}
モードが設定されている場合
"expand"
、凡例は軸領域を埋めるために水平方向に拡張されます (または、凡例のサイズを定義する場合はbbox_to_anchor )。- bbox_transformなしまたは
matplotlib.transforms.Transform
境界ボックスの変換 ( bbox_to_anchor )。(デフォルト) の値の場合
None
、Axes のtransAxes
変換が使用されます。- title str または None
伝説のタイトル。デフォルトはタイトルなし (
None
) です。- title_fontpropertiesなし または
matplotlib.font_manager.FontProperties
または dict 凡例のタイトルのフォント プロパティ。None (デフォルト) の場合、 title_fontsize引数があればそれが使用されます。title_fontsizeも None の場合、現在の(
rcParams["legend.title_fontsize"]
デフォルト:None
) が使用されます。- title_fontsize int または {'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'}, デフォルト:
rcParams["legend.title_fontsize"]
(デフォルト:None
) 凡例のタイトルのフォント サイズ。注: これはtitle_fontpropertiesと組み合わせることはできません。他のフォント プロパティと一緒にフォント サイズを設定する場合は、 title_fontpropertiesでsize パラメータを使用します。
- 配置{'center', 'left', 'right'}, デフォルト: 'center'
凡例のタイトルとエントリのボックスの配置。エントリは単一のブロックとして整列されるため、マーカーは常に整列します。
- ボーダーパッドfloat、デフォルト:
rcParams["legend.borderpad"]
(デフォルト:0.4
) 凡例の境界線内の小数の空白 (フォント サイズ単位)。
- labelspacing float、デフォルト:
rcParams["legend.labelspacing"]
(デフォルト:0.5
) 凡例エントリ間の垂直方向のスペース (font-size 単位)。
- handlelength float、デフォルト:
rcParams["legend.handlelength"]
(デフォルト:2.0
) 凡例ハンドルの長さ (font-size 単位)。
- handleheight float、デフォルト:
rcParams["legend.handleheight"]
(デフォルト:0.7
) 凡例ハンドルの高さ (font-size 単位)。
- handletextpad float、デフォルト:
rcParams["legend.handletextpad"]
(デフォルト:0.8
) 凡例ハンドルとテキストの間のパッド (フォント サイズ単位)。
- borderaxespad float、デフォルト:
rcParams["legend.borderaxespad"]
(デフォルト:0.5
) 軸と凡例の境界線の間のパッド (フォント サイズ単位)。
- 列間隔float、デフォルト:
rcParams["legend.columnspacing"]
(デフォルト:2.0
) フォントサイズ単位での列間の間隔。
- handler_map dict または None
インスタンスまたは型を凡例ハンドラーにマッピングするカスタム辞書。このhandler_mapは、 にあるデフォルトのハンドラ マップを更新します
matplotlib.legend.Legend.get_legend_handler_map
。
- loc str または float のペア、デフォルト:
こちらもご覧ください
ノート
一部のアーティストはこの機能に対応していません。詳細については 、レジェンド ガイドを参照してください。
例
#を使用した例matplotlib.axes.Axes.legend
複数のデータセットを使用したヒストグラム (hist) 関数