본문 바로가기
IT/파이썬(Python)

파이썬 matplotlib 그래프 범례 설정하기

by 깡타의 컴맹인생 2023. 1. 28.
반응형

파이썬 그래프 범례 설정

범례는 그래프 데이터의 종류를 표시하기 위한 텍스트다. matplotlib을 이용해 범례를 표시하고 스타일을 설정하는 방법에 대해 알아보자.

목차
1. 범례 표시하기
2. 범례 글자 폰트 설정
3. 범례 글자 색상 설정
4. 범례 글자 크기 설정
5. 범례 위치 설정

1. 범례 표시하기

범례를 표시하는 방법은 다음과 같다.

pyplot.plot(가로축 데이터, 세로축 데이터, label= '원하는 데이터 이름')
pyplot.legend()

그래프의 우측 상단 영역에 범례가 생겨난 것을 볼 수 있다. 원하는 데이터 이름을 입력해서 글자를 자유롭게 바꿀 수 있다. 이는 데이터의 이름이 'data'라는 것을 뜻한다. 범례를 표시할 수 있는 또 다른 방법도 있다.

pyplot.legend(['원하는 데이터 이름'])

pyplot.legend 함수에 직접 원하는 데이터 이름을 입력해도 된다. 데이터의 종류가 여러 개인 경우에도 문제없다.

pyplot.legend(['세로축 데이터 1 이름', '세로축 데이터 2 이름']) 

 

plot 함수에 입력한 데이터 순서(y1 → y2)대로 legend 함수에 차례대로 데이터 이름을 입력해 주면 된다.


2. 범례 글자 폰트 설정

범례의 글자 폰트를 설정할 수 있다.

pyplot.legend(prop = {'family' : '원하는 폰트명'})

굴림 폰트를 적용했더니 그래프에 반영된 것을 확인할 수 있다. 자신의 컴퓨터에 설치된 폰트의 목록을 알고 싶다면 아래 게시물을 참고하도록 하자.

 

윈도우 10 설치된 글꼴(폰트) 찾기

파이썬을 사용하다 보면 데이터 시각화를 하면서 그래프를 출력할 때가 있다. 축 레이블 제목의 폰트를 설정할 때, 한글로 폰트 이름을 적으면 에러가 발생한다. (VS Code에서 발생했음) 폰트 이름

ggangtalife.tistory.com

 


3. 범례 글자 색상 설정

범례 글자의 색상을 설정하는 방법도 있다. 먼저 본인이 원하는 색상으로 지정하는 방법이다.

leg = pyplot.legend()
for text in leg.get_texts():
     text.set_color("원하는 색상")

green이라는 색상으로 지정했더니 범례 안의 글자 색상이 초록색으로 변경된 것을 확인할 수 있다. 원하는 색상은 matplotlib에 정의된 색상이라면 모두 이용 가능하다. 아래와 같은 기본 색상 코드표를 참고하자.

또는 색상 코드를 활용하는 방법도 있다. 네이버에 '색상 코드'라고 검색하면 색상 팔레트가 나온다. 본인이 원하는 색상을 선택하여 색상 코드를 집어넣으면 된다.


4. 범례 글자 크기 설정

범례 글자의 크기를 설정하는 방법에 대해 알아보자.

pyplot.legend(fontsize = '원하는 글자 크기')

글자 크기를 20으로 설정했더니 범례의 위치가 자동으로 좌측 상단에 위치한 것을 볼 수 있다. 컴퓨터가 판단하기에 그래프의 그림 영역을 침범하지 않는 영역에 배치한 것이다. 글자 크기를 변경하는 방법은 다양하다. 다음과 같은 방법도 있다.

pyplot.legend(prop = {'size' : '원하는 글자 크기'})


5. 범례 위치 설정

그래프에서 범례가 나타나는 위치를 설정할 수 있다. 다양한 방법이 존재한다. 가장 간단한 방법부터 알아보자.

pyplot.legend(loc = '원하는 위치')

입력 인자에 right를 입력했더니 범례가 그래프의 그림 영역 우측에 나타난 것을 볼 수 있다. 방향을 나타내는 인자는 다음과 같이 구성되어 있다.

문자 숫자 위치
best 0 최적의 위치
upper right 1 오른쪽 위
upper left 2 왼쪽 위
lower left 3 왼쪽 하단
lower right 4 오른쪽 하단
right 5 오른쪽
center left 6 왼쪽 중앙
center right 7 오른쪽 중앙
lower center 8 하단 중앙
upper center 9 상단 중앙
center 10 중앙

 

숫자로도 위치 인자를 입력할 수 있다. 아무것도 입력하지 않을 경우 기본 값인 '0'이 할당된다. 컴퓨터가 계산하여 최적의 위치에 범례를 위치시킨다.

반응형