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

Matplotlib 막대 차트에서 막대 위에 텍스트 표시하는 방법

Matplotlib로 그린 막대 차트에서 각 막대(열) 위에 텍스트를 표시하려면 text() 메서드를 사용하면 됩니다. 이 메서드는 지정한 x, y 좌표에 원하는 문자열을 배치할 수 있어, 막대의 값이나 백분율 등을 막대 바로 위에 나타내는 데 매우 유용합니다.

구현 단계

  • x축 레이블, y축 값, 백분율(percentage) 데이터를 리스트로 준비합니다.

  • bar() 메서드를 사용해 막대 그래프를 생성합니다.

  • zip()으로 묶은 x, y, percentage 값을 순회하면서 각 막대 위에 텍스트를 배치합니다.

  • show() 메서드를 호출해 완성된 그래프를 화면에 출력합니다.

예제 코드

import matplotlib.pyplot as plt

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

x = ['A', 'B', 'C', 'D', 'E']
y = [1, 3, 2, 0, 4]
percentage = [10, 30, 20, 0, 40]

ax = plt.bar(x, y)

for x, y, p in zip(x, y, percentage):
    plt.text(x, y, p)

plt.show()

실행 결과

Matplotlib 막대 차트에서 막대 위에 텍스트 표시하는 방법


추가 팁: 텍스트 정렬 조정하기

텍스트 위치를 더 세밀하게 다듬고 싶다면 plt.text()ha(수평 정렬)와 va(수직 정렬) 옵션을 함께 사용해 보세요. 예를 들어 plt.text(x, y, p, ha='center', va='bottom')처럼 작성하면 텍스트가 각 막대의 상단 중앙에 깔끔하게 정렬되어 가독성이 크게 향상됩니다. 또한 fontsize, color 등의 인자를 추가하면 텍스트 스타일도 자유롭게 꾸밀 수 있습니다.