
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import scipy.stats as spst
tip = pd.read_csv('tips.csv')
sns.scatterplot(x='total_bill', y='tip', data = tip)
# sns에서 x y 명확하게 표시
plt.show()


sns.jointplot(x='total_bill', y='tip', data = tip)
plt.show()

sns.pairplot(tip)
plt.show()

sns.pairplot(tip, kind = 'reg') # reg : 회귀선을 표시
plt.show()

spst.pearsonr(tip['total_bill'], tip['tip'])
# PearsonRResult(statistic=0.6757341092113645, pvalue=6.692470646863819e-34)
# 상관계수는 약 0.67
# p-value는 0.05 보다 낮으므로 상관계수가 유의미하다는 것을 알 수 있음
# 숫자형 데이터만 따로 추출
temp = tip[['total_bill', 'tip', 'size']]
temp.corr()
plt.figure(figsize = (8, 8))
sns.heatmap(temp.corr(),
annot = True, # 숫자(상관계수) 표기 여부
fmt = '.3f', # 숫자 포멧 : 소수점 3자리까지 표기
cmap = 'OrRd', # 컬러맵
vmin = -1, vmax = 1) # 값의 최소, 최대값
plt.show()

※ 컬러맵 종류 확인
https://matplotlib.org/stable/users/explain/colors/colormaps.html