1 분 소요

12. 다중 막대 그래프

import pandas as pd
import matplotlib.pyplot as plt
import matplotlib
matplotlib.rcParams['font.family'] = 'Malgun Gothic' # 글자 폰트
matplotlib.rcParams['font.size'] = 15 # 글자 크기
matplotlib.rcParams['axes.unicode_minus'] = False # 한글 폰트 사용 시, 마이너스 글자가 깨지는 현상을 해결
df = pd.read_excel('../Pandas/score.xlsx') 
df
지원번호 이름 학교 국어 영어 수학 과학 사회 SW특기
0 1번 채치수 북산고 197 90 85 100 95 85 Python
1 2번 정대만 북산고 184 40 35 50 55 25 Java
2 3번 송태섭 북산고 168 80 75 70 80 75 Javascript
3 4번 서태웅 북산고 187 40 60 70 75 80 NaN
4 5번 강백호 북산고 188 15 20 10 35 10 NaN
5 6번 변덕규 능남고 202 80 100 95 85 80 C
6 7번 황태산 능남고 188 55 65 45 40 35 PYTHON
7 8번 윤대협 능남고 190 100 85 90 95 95 C#
import numpy as np
np.arange(5)
array([0, 1, 2, 3, 4])
np.arange(3, 6)
array([3, 4, 5])
arr = np.arange(5)
arr
array([0, 1, 2, 3, 4])
arr + 100
array([100, 101, 102, 103, 104])
arr * 3
array([ 0,  3,  6,  9, 12])
df.shape
(8, 10)
df.shape[0]
8
N = df.shape[0]
N
8
index = np.arange(N)
index
array([0, 1, 2, 3, 4, 5, 6, 7])
w = 0.25
plt.bar(index - w, df['국어'])
plt.bar(index, df['영어'])
plt.bar(index + w, df['수학'])
<BarContainer object of 8 artists>

w = 0.25
plt.bar(index - w, df['국어'], width = w)
plt.bar(index, df['영어'], width = w)
plt.bar(index + w, df['수학'], width = w)
<BarContainer object of 8 artists>

w = 0.25
plt.bar(index - w, df['국어'], width=w, label='국어')
plt.bar(index, df['영어'], width=w, label='영어')
plt.bar(index + w, df['수학'], width=w, label='수학')
plt.legend(ncol=3)
<matplotlib.legend.Legend at 0x1e4dbb60700>

plt.figure(figsize=(10,5))
plt.title('학생별 성적')

w = 0.25
plt.bar(index - w, df['국어'], width=w, label='국어')
plt.bar(index, df['영어'], width=w, label='영어')
plt.bar(index + w, df['수학'], width=w, label='수학')
plt.legend(ncol=3)
plt.xticks(index, df['이름'], rotation=60)
plt.ylim(0,120)
plt.show()

댓글남기기