15. 산점도 그래프
import matplotlib.pyplot as plt
import matplotlib
matplotlib.rcParams['font.family'] = 'Malgun Gothic' # 글자 폰트
matplotlib.rcParams['font.size'] = 15 # 글자 크기
matplotlib.rcParams['axes.unicode_minus'] = False # 한글 폰트 사용 시, 마이너스 글자가 깨지는 현상을 해결
import pandas as pd
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# |
df['학년'] = [3, 3, 2, 1, 1, 3, 2, 2]
df
|
지원번호 |
이름 |
학교 |
키 |
국어 |
영어 |
수학 |
과학 |
사회 |
SW특기 |
학년 |
0 |
1번 |
채치수 |
북산고 |
197 |
90 |
85 |
100 |
95 |
85 |
Python |
3 |
1 |
2번 |
정대만 |
북산고 |
184 |
40 |
35 |
50 |
55 |
25 |
Java |
3 |
2 |
3번 |
송태섭 |
북산고 |
168 |
80 |
75 |
70 |
80 |
75 |
Javascript |
2 |
3 |
4번 |
서태웅 |
북산고 |
187 |
40 |
60 |
70 |
75 |
80 |
NaN |
1 |
4 |
5번 |
강백호 |
북산고 |
188 |
15 |
20 |
10 |
35 |
10 |
NaN |
1 |
5 |
6번 |
변덕규 |
능남고 |
202 |
80 |
100 |
95 |
85 |
80 |
C |
3 |
6 |
7번 |
황태산 |
능남고 |
188 |
55 |
65 |
45 |
40 |
35 |
PYTHON |
2 |
7 |
8번 |
윤대협 |
능남고 |
190 |
100 |
85 |
90 |
95 |
95 |
C# |
2 |
plt.scatter(df['영어'],df['수학'])
plt.xlabel('영어 점수')
plt.ylabel('수학 점수')
Text(0, 0.5, '수학 점수')

import numpy as np
sizes = np.random.rand(8) * 1000
sizes
array([181.78216747, 745.72325818, 988.94992638, 148.24723426,
684.31070804, 452.29223234, 133.83073613, 733.2575611 ])
plt.scatter(df['영어'],df['수학'], s=sizes)
plt.xlabel('영어 점수')
plt.ylabel('수학 점수')
Text(0, 0.5, '수학 점수')

sizes = df['학년'] * 500 # 1학년 = 500, 2학년 = 1000, 3학년 = 1500
plt.scatter(df['영어'],df['수학'], s=sizes)
plt.xlabel('영어 점수')
plt.ylabel('수학 점수')
Text(0, 0.5, '수학 점수')

plt.scatter(df['영어'],df['수학'], s=sizes, c=df['학년'], cmap='viridis', alpha=0.3) # color, colormap
plt.xlabel('영어 점수')
plt.ylabel('수학 점수')
Text(0, 0.5, '수학 점수')

plt.figure(figsize=(7,7))
plt.scatter(df['영어'],df['수학'], s=sizes, c=df['학년'], cmap='viridis', alpha=0.3) # color, colormap
plt.xlabel('영어 점수')
plt.ylabel('수학 점수')
plt.colorbar(ticks=[1, 2, 3], label='학년', shrink=0.5, orientation='horizontal')
<matplotlib.colorbar.Colorbar at 0x27947efbb50>

댓글남기기