Programming/python
[matplotlib] 누적 막대 그래프
그렉그의
2023. 3. 27. 17:26
11. 누적막대 그래프
In [1]:
import pandas as pd
In [2]:
import matplotlib.pyplot as plt
import matplotlib
matplotlib.rcParams['font.family'] = 'AppleGothic'
matplotlib.rcParams['font.size'] = 15 #글자크기
matplotlib.rcParams['axes.unicode_minus'] = False #한글폰트 사용시 마이너스 글자 깨짐 해결
In [3]:
df = pd.read_excel('../Pandas/score.xlsx')
df
Out[3]:
지원번호이름학교키국어영어수학과학사회SW특기01234567
1번 | 채치수 | 북산고 | 197 | 90 | 85 | 100 | 95 | 85 | Python |
2번 | 정대만 | 북산고 | 184 | 40 | 35 | 50 | 55 | 25 | Java |
3번 | 송태섭 | 북산고 | 168 | 80 | 75 | 70 | 80 | 75 | Javascript |
4번 | 서태웅 | 북산고 | 187 | 40 | 60 | 70 | 75 | 80 | NaN |
5번 | 강백호 | 북산고 | 188 | 15 | 20 | 10 | 35 | 10 | NaN |
6번 | 변덕규 | 능남고 | 202 | 80 | 100 | 95 | 85 | 80 | C |
7번 | 황태산 | 능남고 | 188 | 55 | 65 | 45 | 40 | 35 | PYTHON |
8번 | 윤대협 | 능남고 | 190 | 100 | 85 | 90 | 95 | 95 | C# |
In [5]:
plt.bar(df['이름'],df['국어'])
plt.bar(df['이름'],df['영어'])
Out[5]:
<BarContainer object of 8 artists>

In [8]:
plt.bar(df['이름'],df['국어'])
plt.bar(df['이름'],df['영어'], bottom = df['국어'])
Out[8]:
<BarContainer object of 8 artists>

In [12]:
plt.bar(df['이름'], df['국어'])
plt.bar(df['이름'], df['영어'], bottom = df['국어'])
plt.bar(df['이름'], df['수학'], bottom = df['국어']+df['영어'])
Out[12]:
<BarContainer object of 8 artists>

In [15]:
plt.bar(df['이름'], df['국어'], label = '국어')
plt.bar(df['이름'], df['영어'], bottom = df['국어'], label = '영어')
plt.bar(df['이름'], df['수학'], bottom = df['국어']+df['영어'], label = '수학')
plt.xticks(rotation=60)
plt.legend()
Out[15]:
<matplotlib.legend.Legend at 0x7fad1a181850>
