중앙에 레이블이 있는 누적 막대 차트
문제:
누적 막대에서 데이터 레이블을 중앙에 맞추려고 시도 레이블을 중앙에 맞추는 것만으로는 완벽하지 않을 수 있으므로 차트가 어려울 수 있습니다. 결과.
해결책 1: bar_label()을 사용한 Pandas Bar Plot
- pandas.DataFrame.plot.bar() 또는 pandas.DataFrame.plot 활용 (kind='bar', stacked=True) 방법을 사용하세요.
- matplotlib.pyplot.bar_label() 함수를 사용하여 막대의 레이블을 자동으로 가운데에 배치합니다.
해결책 2: 직사각형 속성을 사용한 명시적 레이블 지정
- 액세스 다음을 사용하여 각 섹션에 대한 matplotlib.patches.Rectangle 객체 ax.patches.
- 각 직사각형의 높이, 너비, x 좌표, y 좌표를 계산합니다.
- 원하는 경우 추가 텍스트를 포함하여 f-문자열을 사용하여 라벨을 만듭니다.
- ax.text()를 사용하여 라벨을 플롯하고 해당 라벨의 중앙에 정렬합니다. 직사각형.
해결책 3: Seaborn Histplot
- pandas.melt()를 사용하여 데이터 프레임을 긴 형식으로 변환합니다.
- 매개변수와 함께 seaborn.histplot() 또는 seaborn.displot()을 사용하여 플롯합니다. multiple='stack' 및 Discrete=True.
- ax.containers를 사용하여 패치에 액세스하고 솔루션 2와 같이 라벨 생성 및 배치를 진행합니다.
솔루션 참고 사항:
- ax.bar_label(c, labels=labels, label_type='center'), 여기서 labels는 각 직사각형에 해당하는 레이블 목록입니다.
- 소수점 없이 숫자를 표시하려면 fmt=lambda x: f'{x:.0f}'를 사용하세요. 솔루션 1.
- 수평 누적 막대의 경우 pandas.plot()에서 kind='barh'를 사용하고 레이블 계산을 수정합니다. 따라서
위 내용은 누적 막대 차트에서 데이터 레이블을 중앙에 배치하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!