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([ 79.28600963, 844.29082802, 749.81772051, 517.98313856, 885.96589735, 795.58749373, 227.34888727, 78.66420023])
plt.scatter(df['영어'], df['수학'], s=sizes)
plt.xlabel('영어 점수')
plt.ylabel('수학 점수')
Text(0, 0.5, '수학 점수')
sizes = df['학년'] * 500
plt.scatter(df['영어'], df['수학'], s=sizes, c=df['학년'], cmap='viridis', alpha=0.3)
plt.xlabel('영어 점수')
plt.ylabel('수학 점수')
Text(0, 0.5, '수학 점수')
plt.figure(figsize=(10, 10))
plt.scatter(df['영어'], df['수학'], s=sizes, c=df['학년'], cmap='viridis', alpha=0.3)
plt.xlabel('영어 점수')
plt.ylabel('수학 점수')
plt.colorbar(ticks=[1,2,3], label='학년', shrink=0.5, orientation='horizontal')
<matplotlib.colorbar.Colorbar at 0x1ee236db790>