> 백엔드 개발 > 파이썬 튜토리얼 > Matplotlib 누적 막대 차트에서 데이터 레이블을 중앙에 배치하는 방법은 무엇입니까?

Matplotlib 누적 막대 차트에서 데이터 레이블을 중앙에 배치하는 방법은 무엇입니까?

DDD
풀어 주다: 2024-11-24 00:41:10
원래의
459명이 탐색했습니다.

How to Center Data Labels in a Matplotlib Stacked Bar Chart?

중앙에 정렬된 레이블이 있는 누적 막대 차트: bar_label을 사용한 향상된 솔루션

matplotlib에서 누적된 레이블의 중앙에 데이터 레이블을 정확하게 배치하기 위한 세련된 방법입니다. bar_label 함수를 사용하면 막대 차트를 사용할 수 있습니다. 수행 방법은 다음과 같습니다.

  1. 필요한 모듈 가져오기: 필수 라이브러리를 가져오는 것으로 시작합니다.
import pandas as pd
import matplotlib.pyplot as plt
로그인 후 복사
  1. 만들기 DataFrame을 채우세요: 누적 막대 차트를 만들려면 다음을 사용하는 것이 좋습니다. 팬더 DataFrame. 다음은 'A', 'B', 'C'라는 세 개의 열이 있는 DataFrame의 예입니다.
# sample DataFrame
df = pd.DataFrame({'A': [45, 17, 47], 'B': [91, 70, 72], 'C': [68, 43, 13]})
로그인 후 복사
  1. 누적 막대 차트 그리기: 누적 막대를 그리는 DataFrame Chart.
ax = df.plot(kind='bar', stacked=True, figsize=(8, 6), rot=0, xlabel='Class', ylabel='Count')
로그인 후 복사
  1. 막대에 레이블 지정: 이제 막대가 중앙에 오도록 레이블을 지정해 보겠습니다. 이를 수행하려면 bar_label을 사용하십시오.
for c in ax.containers:
    ax.bar_label(c, label_type='center')
로그인 후 복사

선택적 사용자 정의

  • 0 또는 작은 레이블: 0이 있는 세그먼트의 경우 또는 작은 값인 경우 필요에 따라 레이블 가시성을 조정하십시오. 예를 들어 특정 임계값을 초과하는 경우에만 값을 표시하거나 label_type='edge' 옵션을 사용합니다.
labels = [v.get_height() if v.get_height() > 0 else '' for v in c]  # for segments with small or zero values
로그인 후 복사
  • 사용자 지정 형식: 레이블을 수정합니다. 요구 사항에 맞게 형식을 지정하세요.
ax.bar_label(c, fmt=lambda x: f'{x:.0f}' if x > 0 else '', label_type='center')  # to show no decimal places
로그인 후 복사

Seaborn 대안

seaborn으로 작업하는 것을 선호한다면 누적 막대 차트를 만들고 막대에 레이블을 지정할 수도 있습니다.

  1. DataFrame 준비: 유사 matplotlib에 데이터가 포함된 pandas DataFrame을 만듭니다.
  2. 변환 DataFrame을 긴 형식으로: seaborn은 DataFrame이 긴 형식이어야 하며, 이는 Melt를 사용하여 달성할 수 있습니다.
  3. 차트를 플롯하고 막대에 레이블을 지정합니다: 누적 막대를 플롯합니다. matplotlib에서와 같이 차트를 작성하고 bar_label을 적용합니다.

위 내용은 Matplotlib 누적 막대 차트에서 데이터 레이블을 중앙에 배치하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿