matplotlib.pyplot.legend #

matplotlib.pyplot. 범례 ( * args , ** 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의 모든 아티스트에 대한 범례를 만들려면 각 범례 항목에 대해 하나씩 이터러블 문자열을 사용하여 이 함수를 호출합니다. 예를 들어:

ax.plot([1, 2, 3])
ax.plot([5, 6, 7])
ax.legend(['First line', 'Second line'])
매개변수 :
의 시퀀스 처리 , 선택 사항Artist

범례에 추가할 아티스트(라인, 패치) 목록입니다. 범례에 표시되는 항목에 대한 전체 제어가 필요하고 위에서 설명한 자동 메커니즘이 충분하지 않은 경우 레이블 과 함께 사용하십시오 .

이 경우 핸들과 라벨의 길이는 동일해야 합니다. 그렇지 않은 경우 더 작은 길이로 잘립니다.

str의 레이블 목록, 선택 사항

아티스트 옆에 표시할 레이블 목록입니다. 범례에 표시된 내용을 완전히 제어해야 하고 위에서 설명한 자동 메커니즘이 충분하지 않은 경우 핸들 과 함께 사용하십시오 .

반환 :
Legend
기타 매개변수 :
loc str 또는 부동 소수점 쌍, 기본값: 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

'왼쪽 아래'

'오른쪽 아래'

4

'오른쪽'

5

'가운데 왼쪽'

6

'중앙 오른쪽'

7

'하단 중앙'

8

'상단 중앙'

9

'센터'

10

bbox_to_anchor BboxBase, 플로트의 2-튜플 또는 4-튜플

loc 과 함께 범례를 배치하는 데 사용되는 상자입니다 . 기본값은 axes.bbox(메소드로 호출된 경우 Axes.legend) 또는 figure.bbox(if Figure.legend)입니다. 이 인수를 사용하면 범례를 임의로 배치할 수 있습니다.

Bbox 좌표는 bbox_transform 에 의해 주어진 좌표계에서 해석되며 , 호출 에 따라 기본 변형 Axes 또는 Figure 좌표 가 사용 legend됩니다.

4-튜플 or 가 주어지면 범례가 배치되는 BboxBasebbox를 지정합니다 . 범례를 축(또는 그림)의 오른쪽 아래 사분면에서 최상의 위치에 배치하려면 다음을 수행하십시오.(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 가 우선합니다.

소품 없음 또는 matplotlib.font_manager.FontProperties또는 dict

범례의 글꼴 속성입니다. None(기본값)인 경우 전류 matplotlib.rcParams가 사용됩니다.

fontsize int 또는 {'xx-작은', 'x-작은', '작은', '중간', '대형', '대형', 'xx-대형'}

범례의 글꼴 크기입니다. 값이 숫자이면 크기는 포인트 단위의 절대 글꼴 크기가 됩니다. 문자열 값은 현재 기본 글꼴 크기에 상대적입니다. 이 인수는 prop 이 지정되지 않은 경우에만 사용됩니다 .

labelcolor str 또는 목록, 기본값: rcParams["legend.labelcolor"](기본값: 'None')

범례의 텍스트 색상입니다. 유효한 색상 문자열(예: 'red') 또는 색상 문자열 목록입니다. labelcolor는 'linecolor', 'markerfacecolor'(또는 'mfc') 또는 'markeredgecolor'(또는 'mec')를 사용하여 선 또는 마커의 색상과 일치하도록 만들 수도 있습니다.

rcParams["legend.labelcolor"]Labelcolor는 (기본값: ) 을 사용하여 전역적으로 설정할 수 있습니다 '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].

markerscale float, 기본값: rcParams["legend.markerscale"](기본값: 1.0)

원래 그려진 마커와 비교한 범례 마커의 상대적인 크기입니다.

markerfirst 부울, 기본값: True

True 이면 범례 마커가 범례 레이블 왼쪽에 배치됩니다. False 이면 범례 마커가 범례 레이블 오른쪽에 배치됩니다.

프레임온 부울, 기본값: rcParams["legend.frameon"](기본값: True)

범례를 패치(프레임)에 그려야 하는지 여부입니다.

fancybox 부울, 기본값: rcParams["legend.fancybox"](기본값: True)

FancyBboxPatch범례의 배경을 구성하는 주변에 둥근 모서리를 활성화할지 여부 입니다.

섀도우 부울, 기본값: rcParams["legend.shadow"](기본값: False)

범례 뒤에 그림자를 그릴지 여부입니다.

framealpha float, 기본값: rcParams["legend.framealpha"](기본값: 0.8)

범례 배경의 알파 투명도입니다. 그림자 가 활성화되고 framealpha 가 이면 None기본값이 무시됩니다.

facecolor "상속" 또는 색상, 기본값: rcParams["legend.facecolor"](기본값: 'inherit')

범례의 배경색입니다. "inherit"인 경우 rcParams["axes.facecolor"](기본값: 'white')을 사용합니다.

edgecolor "상속" 또는 색상, 기본값: rcParams["legend.edgecolor"](기본값: '0.8')

범례의 배경 패치 가장자리 색상입니다. 인 경우 "inherit"take rcParams["axes.edgecolor"](기본값: 'black')를 사용합니다.

모드 {"확장", 없음}

모드 가 설정 되면 "expand"범례가 수평으로 확장되어 축 영역을 채웁니다(또는 범례의 크기를 정의하는 경우 bbox_to_anchor ).

bbox_transform 없음 또는matplotlib.transforms.Transform

경계 상자( bbox_to_anchor )의 변환입니다. (기본값) 값의 None경우 축의 transAxes변형이 사용됩니다.

제목 문자열 또는 없음

전설의 제목. 기본값은 제목 없음( None)입니다.

title_fontproperties 없음 또는 matplotlib.font_manager.FontProperties또는 사전

범례 제목의 글꼴 속성입니다. 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 에서 크기 매개변수를 사용하세요 .

정렬 {'가운데', '왼쪽', '오른쪽'}, 기본값: '가운데'

범례 제목과 항목 상자의 정렬. 항목은 단일 블록으로 정렬되므로 마커가 항상 정렬됩니다.

borderpad float, 기본값: rcParams["legend.borderpad"](기본값: 0.4)

범례 테두리 내부의 소수 공백(글꼴 크기 단위)입니다.

레이블 간격 부동, 기본값: rcParams["legend.labelspacing"](기본값: 0.5)

범례 항목 사이의 세로 간격(글꼴 크기 단위)입니다.

핸들 길이 부동, 기본값: rcParams["legend.handlelength"](기본값: 2.0)

글꼴 크기 단위의 범례 핸들 길이입니다.

핸들 높이 부동, 기본값: rcParams["legend.handleheight"](기본값: 0.7)

범례 핸들의 높이(글꼴 크기 단위)입니다.

handletextpad float, 기본값: rcParams["legend.handletextpad"](기본값: 0.8)

범례 핸들과 텍스트 사이의 패드(글꼴 크기 단위)입니다.

borderaxespad float, 기본값: rcParams["legend.borderaxespad"](기본값: 0.5)

글꼴 크기 단위의 축과 범례 테두리 사이의 패드입니다.

열 간격 부동, 기본값: rcParams["legend.columnspacing"](기본값: 2.0)

열 사이의 간격(글꼴 크기 단위)입니다.

handler_map 사전 또는 없음

인스턴스 또는 유형을 범례 핸들러에 매핑하는 사용자 정의 사전. 이 handler_map 은 에 있는 기본 핸들러 맵을 업데이트합니다 matplotlib.legend.Legend.get_legend_handler_map.

또한보십시오

Figure.legend

메모

일부 아티스트는 이 기능을 지원하지 않습니다. 자세한 내용은 범례 가이드 를 참조하십시오.

( 소스 코드 , png )

../../_images/legend_00_00.png

# 을 사용하는 예matplotlib.pyplot.legend

오류 막대 제한 선택

오류 막대 제한 선택

오류 막대 제한 선택
마스크 및 NaN 값 플로팅

마스크 및 NaN 값 플로팅

마스크 및 NaN 값 플로팅
계단 데모

계단 데모

계단 데모
단계 데모

단계 데모

단계 데모
무한 라인

무한 라인

무한 라인
Findobj 데모

Findobj 데모

Findobj 데모
Zorder 데모

Zorder 데모

Zorder 데모
Sankey 클래스

Sankey 클래스

Sankey 클래스
SVG 히스토그램

SVG 히스토그램

SVG 히스토그램
빠른 시작 가이드

빠른 시작 가이드

빠른 시작 가이드
레전드 가이드

레전드 가이드

레전드 가이드