본문 바로가기
데이터시각화

[메타코드] 파이썬 입문 데이터분석 (8) px.scatter() 파이썬으로 scatter plot(산점도) 그리기

by 모닥불🔥 2024. 7. 14.

 

오늘도 조용히 공부하는 타닥타닥 모닥불🔥 이번 시각화는 산점도(scatter plot)이다.

 

이미지를 클릭하면 강의 사이트로 이동한다.

* 가입 시 5천원 주는 추천인 코드: EQQW-36EH-JY4P 추가해주시면 감사합니다.


🔥 강의 목차

오리엔테이션
파이썬 기초 문법
데이터 전처리
데이터 시각화
마케팅 데이터 분석 및 지표 정의하기

🔥 마케팅 데이터 전처리 &자동화 프로젝트(8) scatter plot 산점도

수치형 변수 간의 시각화에 사용되는 산점도(scatter plot)를 그려보자.

산점도는 x축과 y축에 표시된 두 변수 간의 관계를 시각적으로 표현하는 그래프인데, x축과 y축 모두 수치형 변수여야 한다. 서로 다른 속성 간의 (상관)관계를 눈으로 볼 수 있다.

import plotly.express as px

# px.scatter 함수를 사용하여 산점도 생성
fig = px.scatter(
    df,
    x="col_1",    # x축에 표시될 데이터 열
    y="col_2",   # y축에 표시될 데이터 열
    color="col_3",    # 데이터 포인트의 색상을 구분할 범주형 데이터 열
    ,opacity = .6     # 투명도
    marginal_y="rug",   # y축에 박스 플롯 추가
    marginal_x="rug",   # x축에 박스 플롯 추가
    title="name"  # 차트 제목
)

# 차트 표시
fig.show()

 

이번에 사용할 예시 데이터는 seaborn 라이브러리의 붓꽃(iris) 데이터이다.

import seaborn as sns
iris= sns.load_dataset('iris')
iris.head()

 

종별로 색깔을 구분해서, 꽃잎의 길이와 넓이 간 상관관계를 살펴보면,

import plotly.express as px
import pandas as pd

fig = px.scatter(
    iris,
    x = 'sepal_length',
    y = 'sepal_width',
    color = 'species'
)

fig.show()

이런 그래프가 나오는데, 대체적으로 setosa 종은 꽃받침의 넓이가 넓은 편이고 virginica 종은 길이가 긴 편이라는 점을 알 수 있고, setosa 종은 눈으로 봐도 우상향하는 게 양의 상관관계가 나타나는 것으로 보인다.

 

그래프 옆쪽에 rug를 추가하면 좀 더 명확하게 살펴볼 수 있다.

import plotly.express as px
import pandas as pd

fig = px.scatter(
    iris,
    x = 'sepal_length',
    y = 'sepal_width',
    color = 'species',
    opacity = .6,      # 투명도 설정(겹치는 값이 있으면 더 진하게 나타남)
    marginal_x = 'rug', # x축 rug 추가
    marginal_y = 'rug'  # y축 rug 추가
)

fig.show()

 

다음 글에서는 산점도를 활용한 버블차트와 산점도 매트릭스를 그려볼 것이다.