산점도 그리기 : plt.scatter()

30 P
QUESTION 04 #374
공부 시간과 시험 점수의 관계를 산점도(흩뿌림 그래프)로 시각화하는 프로그램입니다. 빈칸을 채워 그래프를 완성하세요.
main.py
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt

hours = [1, 2, 3, 4, 5, 6, 7, 8]
scores = [30, 45, 50, 60, 72, 80, 85, 95]

# 산점도를 그립니다.
plt.(hours, scores)
plt.title('Study Hours vs Scores')
plt.show()

print("학생 수:", len(hours))
print("최고 점수:", max(scores))
실행 결과 예시
학생 수: 8
최고 점수: 95
INTERACTIVE SHELL Shift + Enter 로 즉시 실행

산점도 (Scatter Plot)

산점도는 두 변수의 관계를 점(dot)으로 표현하여 상관관계를 시각적으로 확인하는 그래프입니다.

기본 문법

plt.scatter(x데이터, y데이터)

산점도에서 읽을 수 있는 관계

양의 상관관계:       음의 상관관계:       상관 없음:
점수 ↑   · ·        점수 ↑ · ·         점수 ↑  · ·
    |  · ·              | · ·              | ·  · ·
    | · ·               |  · ·             |· · ·
    |· ·                |   · ·            | · · ·
    +------→            +------→           +------→
     공부시간              게임시간            신발 사이즈

scatter() vs plot() 비교

비교 scatter() plot()
표현 만 찍음 점을 선으로 연결
용도 두 변수의 관계 분석 시간에 따른 변화 추적
x축 독립적인 값 (순서 무관) 순서가 있는 값 (시간)

점의 크기와 색상 변경

# 크기 변경 (s)
plt.scatter(hours, scores, s=100)

# 색상 변경 (c 또는 color)
plt.scatter(hours, scores, color='red')

# 크기와 색상 동시에
plt.scatter(hours, scores, s=80, color='green', alpha=0.7)
옵션 설명 예시
s 점의 크기 s=100
color 점의 색상 color='red'
alpha 투명도 (0~1) alpha=0.5 (반투명)
marker 점의 모양 marker='^' (삼각형)

corr()와 함께 활용

# 수치로 상관관계 확인
df.corr()

# 시각적으로 상관관계 확인
plt.scatter(df['공부시간'], df['점수'])

💡 핵심: 산점도는 상관관계를 눈으로 확인하는 그래프입니다. corr()의 시각화 버전이라고 생각하세요.