Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Matplotlib에서 발산 누적 막대 차트를 만드는 방법은 무엇입니까?


Matplotlib에서 발산 누적 막대 차트를 생성하기 위해 다음 단계를 수행할 수 있습니다. -

  • 그림 크기를 설정하고 서브플롯 사이 및 주변 여백을 조정합니다.
  • 변수 초기화 N 인덱스 수를 가져옵니다.
  • menMeans, womenMeans, menStd 가져오기 및 womenStd 튜플
  • 너비 초기화 바.
  • 그림과 서브플롯 세트를 생성합니다.
  • 다양하는 막대를 얻기 위해 양수 및 음수 값의 데이터를 넣어 발산 막대를 만들 수 있습니다.
  • 축을 가로질러 수평선을 추가합니다.
  • Ylabel, title, ticks, ticklabels 설정 및 전설
  • 그림을 표시하려면 show()를 사용하세요. 방법.

import matplotlib.pyplot as plt
import numpy as np

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

N = 5
menMeans = (20, -35, 30, 35, -27)
womenMeans = (25, -32, 34, 20, -25)
menStd = (2, 3, 4, 1, 2)
womenStd = (3, 5, 2, 3, 3)

ind = np.arange(N)
width = 0.35
fig, ax = plt.subplots()

p1 = ax.bar(ind, menMeans, width, yerr=menStd, label='Men')
p2 = ax.bar(ind, womenMeans, width, bottom=menMeans, yerr=womenStd, label='Women')
ax.axhline(0, color='grey', linewidth=0.8)
ax.set_ylabel('Scores')
ax.set_title('Scores by group and gender')
ax.set_xticks(ind)
ax.set_xticklabels(('G1', 'G2', 'G3', 'G4', 'G5'))
ax.legend()

plt.show()

출력

Matplotlib에서 발산 누적 막대 차트를 만드는 방법은 무엇입니까?