Pandas
[Pandas / 시각화] 판다스 산점도그래프 - scatter
씨주
2024. 1. 15. 01:54
📍 Matplotlib
: 다양한 형태의 그래프를 통해서 데이터 시각화를 할 수 있는 라이브러리
In [1]:
import matplotlib.pyplot as plt
✔️ 한글폰트 설정
In [2]:
import matplotlib
matplotlib.rcParams['font.family'] = 'Malgun Gothic' # Windows
matplotlib.rcParams['font.family'] = 'AppleGothic' # Mac
matplotlib.rcParams['axes.unicode_minus']=False # 한글 폰트 사용 시, 마이너스 글자가 깨지는 현상 해결
✅ 산점도 그래프
: plt.scatter(x, y, marker='marker')
plt.xlabel('xlabel')
plt.ylabel('ylabel')
In [3]:
import pandas as pd
df = pd.read_excel('score.xlsx')
df['학년']=[3, 3, 2, 1, 1, 3, 2, 2]
df
Out[3]:

In [4]:
plt.scatter(df['영어'], df['수학'])
plt.xlabel('영어점수')
plt.ylabel('수학점수')
plt.show()
In [5]:
plt.scatter(df['영어'], df['수학'], marker='>')
plt.xlabel('영어점수')
plt.ylabel('수학점수')
plt.show()
✔️ 점 스타일
: plt.scatter(x, y, s=[size_list], c=legend, cmap='cmap', alpha=alpha)
plt.colorbar(ticks=[ticks_list], label='label', shrink=shrink, orientation='horizontal')
In [6]:
sizes = df['학년'] * 500 # 1학년 = 500, 2학년 = 1000, 3학년 = 1500
plt.scatter(df['영어'], df['수학'], s=sizes)
plt.xlabel('영어점수')
plt.ylabel('수학점수')
plt.show()
In [7]:
plt.scatter(df['영어'], df['수학'], s=sizes, c=df['학년'], cmap='viridis')
plt.xlabel('영어점수')
plt.ylabel('수학점수')
plt.show()
In [8]:
plt.figure(figsize=(7, 7))
plt.scatter(df['영어'], df['수학'], s=sizes, c=df['학년'], cmap='viridis', alpha=0.3)
plt.xlabel('영어점수')
plt.ylabel('수학점수')
plt.colorbar()
Out[8]:
<matplotlib.colorbar.Colorbar at 0x12bfb5750>
In [9]:
plt.figure(figsize=(7, 7))
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') # shrink : colorbar 크기
참고 : 나도코딩 파이썬 코딩 무료 강의 (활용편5) - 데이터 분석 및 시각화, 이 영상 하나로 끝내세요