Pandas를 활용하면 데이터프레임을 손쉽게 생성할 수 있으며, subplot() 메서드를 통해 figure(그림)와 axes(축) 객체를 만들 수 있습니다. 이어서 ax.scatter() 메서드를 사용하면 원하는 산점도를 간단하게 완성할 수 있습니다.
구현 단계
학생 수를 담은 리스트를 준비합니다.
학생들이 취득한 점수 목록을 리스트로 만듭니다.
각 산점도 점의 색상을 표현하기 위해 색상 정보가 담긴 리스트를 준비합니다.
Pandas를 이용해 데이터프레임의 축에 해당하는 데이터를 구성합니다.
subplots()메서드로fig와ax변수를 생성합니다. 기본값인 nrows와 ncols는 각각 1입니다.plt.xlabel()메서드로 X축 레이블 'Students count'(학생 수)를 설정합니다.plt.ylabel()메서드로 Y축 레이블 'Obtained marks'(취득 점수)를 설정합니다.앞서 만든 데이터프레임을 활용해 산점도를 그립니다. 이때 x축에는 students_count, y축에는 marks, 색상에는 color 값을 지정합니다.
plt.show()메서드를 호출하여 그래프를 화면에 출력합니다.
예제 코드
from matplotlib import pyplot as plt
import pandas as pd
no_of_students = [1, 2, 3, 5, 7, 8, 9, 10, 30, 50]
marks_obtained_by_student = [100, 95, 91, 90, 89, 76, 55, 10, 3, 19]
color_coding = ['red', 'blue', 'yellow', 'green', 'red', 'blue', 'yellow', 'green', 'yellow', 'green']
df = pd.DataFrame(dict(students_count=no_of_students,
marks=marks_obtained_by_student, color=color_coding))
fig, ax = plt.subplots()
plt.xlabel('Students count')
plt.ylabel('Obtained marks')
ax.scatter(df['students_count'], df['marks'], c=df['color'])
plt.show()
실행 결과

위 예제에서는 학생 수와 취득 점수 데이터를 딕셔너리 형태로 Pandas 데이터프레임에 담고, 각 데이터 포인트마다 서로 다른 색상을 지정했습니다. 이처럼 c 매개변수에 색상 리스트를 전달하면 데이터의 특성에 따라 점의 색을 다르게 표현할 수 있어, 시각적으로 더 풍부한 분석이 가능합니다.