목차
파이썬에서 데이터를 이용하여 그래프를 그릴 때 matplotlib 라이브러리를 사용하게 됩니다. 일반적으로 그래프의 설정을 위해 각 축의 범위를 조절하거나 타이틀 입력, 데이터 마커 설정 등이 있을 겁니다. 때에 따라서 그래프 내에 텍스트를 기입해야 할 경우도 있는데 이번 글에서 어떻게 텍스트를 넣는지 설명해 보려고 합니다.
1. plt.text 함수란?
plt.text() 함수는 Matplotlib 라이브러리에서 제공하는 함수로, 그래프나 도표 위에 텍스트를 추가하는 데 사용됩니다. 이 함수를 사용하여 그래프 상에 주석, 제목, 축 레이블 등 다양한 텍스트를 삽입할 수 있습니다. 주로 데이터 시각화에서 특정 지점에 텍스트를 추가하거나 설명을 달 때 활용됩니다.
기본 사용형태는 다음과 같습니다.
plt.text(x, y, s, **kwargs)
x와 y값을 이용하여 그래프 내에 텍스트가 위치할 좌표값을 입력하고 작성될 텍스트의 값을 s에 넣어주면 그래프 내 텍스트를 배치할 수 있습니다.
x: 텍스트를 배치할 x 좌표 (데이터 좌표계)
y: 텍스트를 배치할 y 좌표 (데이터 좌표계)
s: 텍스트 내용 (문자열)
**kwargs: 추가적인 텍스트 속성 및 스타일을 지정하는 키워드 인수들의 집합
2. plt.text() 함수의 기본 사용 예제
plt.text() 함수를 사용할 때 기본 인자만 이용한 예제를 보여드리겠습니다.
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [2, 4, 3, 5, 6]
plt.plot(x, y)
plt.text(2, 4, "Important Point")
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.title('Example Plot with Text')
plt.grid(True)
plt.show()
텍스트가 위치할 좌표 (2, 4)를 지정하고 "Important Point"란 글을 적어보았습니다. 결과 그래프를 통해 지정한 좌표와 텍스트의 관계를 볼 수 있습니다. 지정된 자표는 텍스트의 첫 글자의 위치를 나타냅니다.
3. plt.text() 함수의 설정 인자들
plt.text 함수의 인자를 이용하면 폰트의 크기, 색상을 변경할 수 있으며 지정된 좌표값을 기준으로 텍스트를 정렬할 수 있습니다.
fontsize: 텍스트 크기 설정 (정수 값)
color: 텍스트 색상 설정 (문자열 또는 RGB 값)
fontweight: 텍스트 굵기 설정 ('normal', 'bold', 'heavy', 'light', 'ultrabold', 'ultralight' 등)
va: 수직 정렬 설정 ('center', 'top', 'bottom' 등)
ha : 수평 정렬 설정 ('center', 'left', 'right' 등)
text 함수 설정 인자들을 아래의 코드로 대체하여 그래프를 그려봤습니다.
plt.text(2, 4, "Important Point", fontsize=12, color='red', ha='center', va='bottom')
입력할 텍스트가 좌표값을 기준으로 좌우는 '가운데' 정렬을 하였고, 상하는 '바닥' 정렬이 됐습니다. 색은 빨간색이며, 글자크기는 12로 나왔습니다.
4. 마치며
지금까지 파이썬의 라이브러리인 matplotlib으로 그래프를 그릴 때 그래프 내에 텍스트를 삽입하는 방법에 대해서 정리해 봤습니다. 물론 그래프의 이미지만 추출해서 PPT를 이용하여 텍스트를 추가할 수도 있습니다. 많은 그래프를 만드려고 한다면 plt.text() 함수가 필요하게 될 겁니다.