Legend는 범례라는 뜻으로 데이터 시각화에 있어서 아주 간단하면서도 핵심적인 정보를 전달해주는 요소이다. 이번 포스팅에서는 기본적으로 어떻게 사용하는지부터 시작하여 위치, 폰트, 테두리 설정 등 데이터 시각화할 때 바로 사용할 수 있는 팁을 위주로 설명하고자 한다.
목차
1. 예시 데이터 및 matplotlib Legend의 기초
2. plt.legend의 위치 설정하기
3. plt.legend 열과 행 개수 지정하기
4. 폰트 및 글자 크기 조절하기
5. 범례 제목 설정하기
6. 기타 알아두면 좋은 기능 모음
1. 기초 데이터셋 및 Matplotlib Legend 기초 사용법
여기에서는 예시 데이터와 다른 시각화 방식은 주 내용이 아니기에 아래의 코드를 공유할 것이다. 따라서 참고를 할 때도 자기가 원하는 부분만 취사선택하여 가져가길 바란다.
- 기초 데이터 및 Line Plot의 시각화 방법 안내'
1
2
3
4
5
6
7
8
9
10
11
12
|
## 기초데이터 - 2차 함수
x = np.linspace(0,1000,1000)
##시각화1 데이터
y1 = (x-400)**2 + 400000
## 시각화2 데이터
y2 = (x-400)**2 + 40000
plt.plot(y1)
plt.plot(y2)
|
cs |
데이터는 아주 기초적인 2차함수이고, 시각화 방식은 Line Plot 형태를 활용하였다. 이해하기 귀찮으면 바로 위에 있는 코드를 그냥 가져다 쓰는 것을 추천한다.
- plt.legend 기초 사용 방법 안내
- 기본문법: plt.legend( "원하는 텍스트를 넣어주세요" )
- Tip1. 텍스트 자리에는 시각화 한 차트의 개수 혹은 표현하고 싶은 범례만큼 넣어주면 된다.
- Tip2. 범례는 리스트 형태의 인자도 받으니, 표현하고 싶은 개수만큼 넣어주면 된다. 이번 포스팅에서는 이 방법을 활용할 예정이다.
- Tip3. DataFrame에서 데이터를 가져오면 자동적으로 범례를 표현해주기도 한다.
- 기본문법: plt.legend( "원하는 텍스트를 넣어주세요" )
1
2
3
4
5
6
|
plt.plot(y1)
plt.plot(y2)
## 범례를 삽입하는
plt.legend(['함수1', '함수2'])
|
cs |
위의 그래프에서는 리스트 형태를 통해서 범례를 표현했다. 사실 여기까지는 모두가 알고 있는 내용일 것이기에 아주 간단하게만 설명하였다. 이제부터 데이터 시각할 때 어떻게 하면 범례를 통해서 더 정확하게 자신의 의도를 삽입할 수 있을지에 대한 팁을 전달하려고 한다.
2. plt.legend의 위치 설정하기
범례의 위치는 기본적으로 알아서 잘 설정해주는데, loc 파라미터를 정의하여 수동으로도 설정할 수 있는 방법은 총 10가지가 있다. 이에 대해서 필요할 때 편하게 찾아쓸 수 있도록 표로 정리해두려고 한다.
- plt.legend( loc = "위치를 설정해주세요" )
- tip1. 설정하지 않으면 자동으로 알아서 배치
- tip2. 위치는 String 혹은 INT64로 모두 설정이 가능하니 편한 방법 취사선택
String으로 설정하는 위치 | INT로 설정하는 위치 | 설명 |
'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 | 중앙 |
1번. 우측 상향에 설정한 범례 예시 |
2번. 좌측 하단에 설정한 범례 예시 |
1
2
3
4
5
6
|
## 1. 우측 상향에 설정한 범례
plt.legend(['함수1', '함수2'], loc = 'upper right')
## 2. 좌측 하단에 설정한 범례
plt.legend(['함수1', '함수2'], loc = 'upper right')
|
cs |
3. plt.legend 열과 행 개수 지정하기
범례의 열 개수는 ncol이라는 파라미터를 통해서 아주 쉽게 설정할 수 있다. 기본 문법은 아래의 설명을 참고하길 바란다.
1
2
3
4
|
## 열을 2개로 조정한 범례의 예시
plt.legend(['함수1', '함수2'], ncol = 2)
|
cs |
4. 글자 크기 조절하기
범례의 폰트 크기는 fontsize라는 명령어를 통해서 설정할 수 있다. 단순하게 자신의 그래프에 맞는 크기를 INT값으로 정의해주면 아주 손쉽게 표현할 수 있다.
1
2
|
## 폰트 사이즈를 조절한 명령어
plt.legend(['함수1', '함수2'] , fontsize = 22 );
|
cs |
5. 범례 제목 설정하기
범례의 제목은 String과 Fontsize를 조절하는 것이 핵심이다. 각각의 명령어는 title과 title_fontsize로 쉽게 조절할 수 있다.
1
2
3
4
5
|
## 범례 제목 및 크기를 설정하는 명령어
plt.legend(['함수1', '함수2'] , fontsize = 12
, title = '함수목록'
, title_fontsize = 15
);
|
cs |
6. 범례의 테두리 및 배경색 설정하기
범례의 테두리와 배경색 또한 파라미터만 잘 보면 설정하기 간단하다. 테두리와 관련해서는 설정여부, 투명도, 그리고 테두리 색상을 조절해볼 것이다. 여기에 배경색까지 조절해준다면 보다 선명한 범례를 만들어 줄 수 있을 것이다.
- plt.legend 테두리 관련한 파라미터 정리
- frameon: 테두리를 보여줄지 말지 설정하는 기본 값. 기본적으로 true 값으로 설정되어 있다.
- framealpha: 테두리의 투명도를 설정하는 파라미터이다.
- edgecolor: 테두리의 색상을 결정하는 파라미터이다. 개인적으로 검정색을 선호한다.
- shadow: 테두리에 그림자 혹은 명암을 설정하는 파라미터이다.
- plt.legend 배경색 결정하는 파라미터
- facecolor: 범례의 배경색을 달리하여 보다 강조할 수 있는 유용한 기능이다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
plt.legend(['함수1', '함수2'] , fontsize = 13
## 범례 제목을 설정하는 파라미터
, title = '함수목록'
, title_fontsize = 15
## 테두리 관련한 파라미터
, frameon = True
, framealpha = 0.4
, edgecolor = 'black'
, shadow = True
## 범례의 배경색을 설정한 코드
, facecolor = 'whitesmoke'
);
|
cs |
'Python > 데이터 시각화' 카테고리의 다른 글
[Python] 바이올린 플롯(Violin Plot) - 기술통계와 분포를 동시에 보여주는 그래프(feat. Seaborn) (0) | 2023.04.06 |
---|---|
[Python] Seaborn으로 데이터 분포 3분만에 마스터하기 (0) | 2023.04.01 |
[Python] 초보자도 따라하는 Line Plot(라인차트) 만들기 (0) | 2023.03.23 |