-
[matplotlib][seaborn] 데이터프레임으로 산점도 그리기 :: plt.scatter sns.scatterplot직접 해보기/Python 2024. 6. 28. 02:18728x90반응형
✅ 산점도 (Scatter plot)
산점도 (Scatter plot) matplotlib 메소드 seaborn 메소드 •연속형 변수 2개 사이의 관계를 점으로 찍어서 표현하는 그래프
•산점도의 형태를 보고 상관관계를 가늠할 수 있
•산점도의 점 하나하나는 관측값을 나타냄plt.scatter() sns.scatterplot()
0️⃣ 패키지 & 데이터프레임 불러오기
- 예시가 될 데이터셋은 Kaggle에서 가져온 Flight Price Prediction 입니다.
- 비행시간(duration)과 비행편 가격(price)간의 관계를 산점도로 찍어서 알아보려고 합니다.
# 패키지 불러오기 import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns # 데이터셋 불러오기 df = pd.read_csv('./Clean_Dataset.csv', encoding='cp949') df = df.drop([df.columns[0]], axis=1)
1️⃣ plt 산점도 그리기 :: plt.scatter
- 산점도 생성: plt.scatter(x='x축 들어갈 칼럼', y='y축 들어갈 칼럼')
- 간단하게 2개 칼럼만 넣어서 산점도를 그려볼 수 있습니다. 형태를 보아하니, 아주 약간 양의 상관관계를 가진 것 같습니다.
# 차트 영역 지정하기 plt.figure() # 산점도 그리기: 비행시간-가격 plt.scatter(x=df['duration'], y=df['price']) # 차트 표시하기 plt.show()
2️⃣ sns 산점도 그리기 :: sns.scatterplot
- seaborn으로 산점도를 그리면 보다 다양한 요소를 추가할 수 있습니다.
- 2개 칼럼 간의 관계 뿐만 아니라, 그 안에서 또 구분할 카테고리를 추가할 수 있습니다.
hue(색상), style(점 모양), sizes(점 크기)로 카테고리가 구분되어 보이도록 지정할 수 있어요. - 아래 코드에선 hue(색상)으로 좌석클래스(class)가 구분되어 보이도록 지정해봤습니다.
비즈니스, 이코노미 둘다 비행시간-가격 간에 약한 양의 상관관계를 가진 것 같아 보입니다.
# 그래프 스타일 및 한글출력 설정 sns.set_theme( style = 'whitegrid', # 그래프 배경 지정 font = 'NanumBarunGothic', # 한글 폰트 지정 rc = {'axes.unicode_minus' : False} ) scatter = sns.scatterplot( data=df, x='duration', y='price', # 데이터 지정 hue='class', # 색상으로 구분할 카테고리 변수 alpha=0.5, palette='Set2' # 투명도 및 팔레트 지정 ) # 축 범위, 축 이름, 그래프 제목 지정하기 scatter.set( xlabel = '비행시간 (duration)', ylabel = '가격 (price)', title = '좌석클래스별 비행시간-가격 산점도' ) # x축 간격 지정하기 scatter.set_xticks(np.arange(0,50,5))
728x90반응형'직접 해보기 > Python' 카테고리의 다른 글
[seaborn] 산점도에 회귀선 회귀식 추가하기 :: sns.lmplot sns.regplot (0) 2024.06.29 [seaborn] 데이터프레임으로 히트맵 그리기 :: sns.heatmap (0) 2024.06.29 [seaborn] 데이터프레임으로 박스플롯 그리기 :: sns.boxplot (0) 2024.06.27 [matplotlib][seaborn] 데이터프레임으로 히스토그램 그리기 :: plt.hist sns.histplot (0) 2024.06.27 [matplotlib] plt colors 컬러이름 모음, 컬러이름 출력하기 :: mcolors (0) 2024.06.27