오늘도 조용히 공부하는 타닥타닥 모닥불🔥 이번 시각화는 산점도(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()
다음 글에서는 산점도를 활용한 버블차트와 산점도 매트릭스를 그려볼 것이다.