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

Matplotlib 막대 그래프에 이모지 레이블을 표시하는 방법

Matplotlib에서는 annotate() 함수를 활용하여 막대 그래프의 각 막대 위에 이모지(emoji)를 레이블로 배치할 수 있습니다. 아래 단계별 가이드와 예제 코드를 통해 쉽게 따라 해 보세요.

구현 단계

  • 그림 크기를 설정하고 서브플롯 주변 및 사이의 여백(padding)을 조정합니다.
  • 빈도수(freqs) 리스트와 이모지가 포함된 레이블(labels) 리스트를 생성합니다.
  • figure() 메서드를 사용하여 새 figure를 생성하거나 기존 figure를 활성화합니다.
  • bar() 메서드로 막대 그래프를 그립니다.
  • annotate() 메서드를 사용하여 각 막대 위에 이모지를 레이블로 배치합니다.
  • show() 메서드를 호출하여 그래프를 화면에 출력합니다.

예제 코드

import numpy as np
from matplotlib import pyplot as plt
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
freqs = [7, 8, 5, 3, 6]
labels = ['😊', '😲', '😂', '😃', '😛']
plt.figure()
p1 = plt.bar(np.arange(len(labels)), freqs)
for rect1, label in zip(p1, labels):
    height = rect1.get_height()
    plt.annotate(
        label,
        (rect1.get_x() + rect1.get_width()/2, height+.05),
        ha="center",
        va="bottom",
        fontsize=30
    )
plt.show()

실행 결과

위 코드를 실행하면 각 막대의 상단 중앙에 해당하는 이모지가 폰트 크기 30으로 표시된 막대 그래프가 나타납니다. annotate()ha(수평 정렬)와 va(수직 정렬) 옵션을 조절하면 이모지의 위치를 세밀하게 다룰 수 있으며, fontsize 값을 변경해 원하는 크기로 조정할 수도 있습니다.