Data Analysis

Python/Matplotlip(시각화)

[Python] Matplotlib (5) 막대 그래프 그리기

Holy_Water 2022. 11. 28. 16:55

막대 그래프 (Bar graph, Bar chart)는 범주가 있는 데이터 값을 직사각형의 막대로 표현하는 그래프입니다.
Matplotlib에서는 matplotlib.pyplot 모듈의 bar() 함수를 이용해서 막대 그래프를 간단하게 표현할 수 있습니다.

 

기본 사용

x = np.arange(3)
years = ['2018', '2019', '2020']
values = [100, 400, 900]

plt.bar(x, values)
plt.xticks(x, years)

plt.show()

- 이 예제는 연도별로 변화하는 값을 갖는 데이터를 막대 그래프로 나타냅니다.
- NumPy의 np.arange() 함수는 주어진 범위와 간격에 따라 균일한 값을 갖는 어레이를 반환합니다.
- years는 X축에 표시될 연도이고, values는 막대 그래프의 y 값 입니다.
- 먼저 plt.bar() 함수에 x 값 [0, 1, 2]와 y 값 [100, 400, 900]를 입력해주고,
- xticks()에 x와 years를 입력해주면, X축의 눈금 레이블에 ‘2018’, ‘2019’, ‘2020’이 순서대로 표시됩니다.

 

 

 

 

색상 지정하기

x = np.arange(3)
years = ['2018', '2019', '2020']
values = [100, 400, 900]
colors = ['y', 'dodgerblue', 'C2']

plt.bar(x, values, color=colors)
plt.xticks(x, years)

plt.show()

- plt.bar() 함수의 color 파라미터에 색상의 이름을 리스트의 형태로 입력하면,
- 막대의 색상을 각각 다르게 지정할 수 있습니다.

 

 

 

막대 폭 지정하기

x = np.arange(3)
years = ['2018', '2019', '2020']
values = [100, 400, 900]

plt.bar(x, values, width=0.4)
# plt.bar(x, values, width=0.6)
# plt.bar(x, values, width=0.8)
# plt.bar(x, values, width=1.0)
plt.xticks(x, years)

plt.show()

- plt.bar() 함수의 width 파라미터는 막대의 폭을 지정합니다.
- 예제에서는 막대의 폭을 0.4/0.6/0.8/1.0으로 지정했고, 디폴트는 0.8입니다.

 

 

 

 

수평 막대 그래프 

y = np.arange(3)
years = ['2018', '2019', '2020']
values = [100, 400, 900]

plt.barh(y, values)
plt.yticks(y, years)

plt.show()

- 연도별로 변화하는 값을 갖는 데이터를 수평 막대 그래프로 나타냈습니다.
- years는 Y축에 표시될 연도이고, values는 막대 그래프의 너비로 표시될 x 값 입니다.
- 먼저 barh() 함수에 NumPy 어레이 [0, 1, 2]와 x 값에 해당하는 리스트 [100, 400, 900]를 입력해줍니다.
- 다음, yticks()에 y와 years를 입력해주면, Y축의 눈금 레이블에 ‘2018’, ‘2019’, ‘2020’이 순서대로 표시됩니다.