본문 바로가기
공부 목록/IT & 프로그래밍

python 그래프 창 내에 텍스트 삽입을 위한 plt.text 함수

by 독학박사 2023. 8. 10.

목차


     파이썬에서 데이터를 이용하여 그래프를 그릴 때 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"란 글을 적어보았습니다. 결과 그래프를 통해 지정한 좌표와 텍스트의 관계를 볼 수 있습니다. 지정된 자표는 텍스트의 첫 글자의 위치를 나타냅니다.

     

    plt.text() 함수의 기본 사용 결과
    plt.text() 함수의 기본 사용 결과

     

    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로 나왔습니다.

    plt.text() 설정 인자 반영 결과
    plt.text() 설정 인자 반영 결과

     

     

    4. 마치며

     지금까지 파이썬의 라이브러리인 matplotlib으로 그래프를 그릴 때 그래프 내에 텍스트를 삽입하는 방법에 대해서 정리해 봤습니다. 물론 그래프의 이미지만 추출해서 PPT를 이용하여 텍스트를 추가할 수도 있습니다. 많은 그래프를 만드려고 한다면 plt.text() 함수가 필요하게 될 겁니다.