>백엔드 개발 >파이썬 튜토리얼 >반올림된 숫자 값으로 Pandas 막대 그래프에 주석을 추가하는 방법은 무엇입니까?

반올림된 숫자 값으로 Pandas 막대 그래프에 주석을 추가하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-12-26 01:33:09268검색

How to Annotate Pandas Bar Plots with Rounded Numerical Values?

반올림된 숫자 값으로 Pandas 막대 그래프에 주석 추가

Pandas 막대 그래프에서 해당 숫자 값으로 막대에 주석을 추가하면 데이터 시각화가 향상되고 플롯의 데이터에 대한 통찰력을 얻을 수 있습니다. . 이 문제를 해결하기 위해 임의의 값이 있는 DataFrame을 고려해 보겠습니다.

import pandas as pd
import numpy as np

df = pd.DataFrame({'A': np.random.rand(2), 'B': np.random.rand(2)}, index=['value1', 'value2'])

도전 과제: 예제 이미지와 유사하게 반올림된 숫자 값으로 막대에 주석을 어떻게 달 수 있나요?

해결책:

축의 패치에 직접 액세스하여 막대 높이 검색:

import matplotlib.pyplot as plt

ax = df.plot(kind='bar')
for p in ax.patches:
    height = p.get_height()
    label = round(height, 2)
    ax.annotate(label, (p.get_x() * 1.005, p.get_height() * 1.005))

이 메서드는 패치 객체에서 막대 높이를 가져오고 반올림된 값으로 막대에 주석을 답니다. 문자열 형식과 오프셋을 조정하여 원하는 대로 주석을 가운데에 배치합니다.

코드 예:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

df = pd.DataFrame({'A': np.random.rand(2), 'B': np.random.rand(2)}, index=['value1', 'value2'])
ax = df.plot(kind='bar')
for p in ax.patches:
    height = p.get_height()
    label = round(height, 2)
    ax.annotate(label, (p.get_x() * 1.005, p.get_height() * 1.005))

plt.show()

위 내용은 반올림된 숫자 값으로 Pandas 막대 그래프에 주석을 추가하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.