Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python Matplotlib 그래프에 텍스트 넣고 위치 조정하는 방법

그래프(플롯) 안이나 바깥에 텍스트를 배치하려면 text_pos_xtext_pos_y 값을 조정하여 텍스트의 위치를 변경하면 됩니다. 특히 Matplotlib의 text() 메서드에 transform=plt.gcf().transFigure 옵션을 함께 사용하면 축(axis) 좌표가 아닌 전체 그림(figure) 기준의 0~1 상대 좌표계를 사용할 수 있어, 그래프 영역 밖을 포함한 원하는 어느 곳에든 텍스트를 자유롭게 배치할 수 있습니다.

구현 단계

  • x, y 데이터 포인트를 생성합니다.
  • 텍스트가 표시될 x, y 위치를 초기화합니다.
  • plot() 메서드에 color='red' 옵션을 지정하여 x, y 데이터를 그립니다.
  • text() 메서드를 사용해 그림(figure)에 텍스트를 추가합니다.
  • show() 메서드로 그림을 화면에 출력합니다.

예제 코드

import numpy as np
from matplotlib import pyplot as plt

plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True

x = np.linspace(1, 5, 100)
y = np.exp(x)

text_pos_x = 0.60
text_pos_y = 0.50

plt.plot(x, y, c='red')
plt.text(text_pos_x, text_pos_y, "$\mathit{y}=e^{x}$", fontsize=14,
         transform=plt.gcf().transFigure, color='green')

plt.show()

코드 설명

  • np.linspace(1, 5, 100): 1부터 5까지 100개의 균등한 x 값을 생성합니다.
  • y = np.exp(x): 각 x 값에 대한 지수 함수 e^x 값을 계산합니다.
  • text_pos_x = 0.60, text_pos_y = 0.50: 그림 전체 너비의 60%, 높이의 50% 지점에 텍스트를 배치합니다.
  • transform=plt.gcf().transFigure: 텍스트 좌표를 축이 아닌 figure 기준으로 해석하도록 설정합니다.

실행 결과

Python Matplotlib 그래프에 텍스트 넣고 위치 조정하는 방법