<jupyter_start><jupyter_text>1. 산점도 그래프 - regplot()   (1) matplotlib의 subplots()로 기본 틀 만들고 seaborn의 그래프 함수 이용        회귀선 제거 : fit_reg=False     axes = sb.regplot(x='total_bill', y='tip', data=tips, fit_reg=False)          [예] 지불 금액과 팁에 대한 그래프             (2) 산점도와 히스토그램을 한번에 - jointplot()        ` 산점도 그래프의 데이타를 육각(hexbin)으로 구분 : kind='hex'속성          ( 개수가 많아지면 진한 색으로 표시 )          axes = sb.jointplot(x='total_bill', y='tip', data=tips, kind='hex')  2. 이차원 밀집도 그래프 (등고선그래프) - kdeplot()  3. 막대그래프 - barplot() / countplot()      * 이산형 데이타(명목데이타)          [예] 시간에 따란 비불한 비용의 평균 그래프       4. 박스그래프 - boxplot()      : 최소값, 4분위수, 평균값, 이상치 등의 통계량을 한번에 표현하는 그래프          - 1분위수와 3분위수를 박스로 그려짐     - 박스 내부의 선은 중앙값이다 (평균값이 아님)     - 박수 외부의 선은 최솟값과 최댓값인데         ` 최솟값 : 1분위수 - ( IQR * 1.5 )         ` 최댓값 : 3분위수 + ( IQR * 1.5 )         ` IQR = 3분위수 - 1분위수     - 선 밖의 점은 outlier로 결측치이다            5. 바이올린 그래프 - violinplot()     : 박스 그래스는 통계 수치를 확인하기 위해 자주 사용되지만 데이터 분산이 모호하기에        박스 그래스에 커널 밀도를 표현한 그래프                     6. 관계 그래프 - pairplot()     [그래프 분석]    1. 데이타셋에서 연속형 데이타로 된 컬럼    2. 동일 컬럼인경우 즉 하나의 변수이기에 히스토그램으로 나옴    3. 다른 변수와의 결합은 이차원 그래프로 산점도 그래프로 나옴    4. 대각선으로는 동일한 결과<jupyter_code>%matplotlib inline
import matplotlib.pyplot as plt
import seaborn as sns
from matplotlib import font_manager, rc

plt.rcParams['axes.unicode_minus']=False  # 추가설정 : 폰트를 변경하면 -표시가 ㅁ으로 변경되기에 '-'를 변경하지 않도록 지정
rc('font', family='Malgun Gothic')

tips = sns.load_dataset('tips')
tips<jupyter_output><empty_output><jupyter_text>1. 산점도 그래프 (1) matplotlib의 subplots()로 기본 틀 만들고 seaborn의 그래프 함수 이용        회귀선 제거 : fit_reg=False     axes = sns.regplot(x='total_bill', y='tip', data=tips, fit_reg=False)          [예] 지불 금액과 팁에 대한 그래프<jupyter_code>plt.subplot()
axes = sns.regplot(x='total_bill', y='tip', data=tips, fit_reg=False)
axes.set_title('지불 금액과 팁에 대한 그래프')
axes.set_xlabel('지불 금액')
axes.set_ylabel('팁', rotation=0, ha='right')<jupyter_output><empty_output><jupyter_text>(2) 산점도와 히스토그램을 한번에 - jointplot()        ` 산점도 그래프의 데이타를 육각(hexbin)으로 구분 : kind='hex'속성          ( 개수가 많아지면 진한 색으로 표시 )          axes = sns.jointplot(x='total_bill', y='tip', data=tips, kind='hex')<jupyter_code>axes = sns.jointplot(x='total_bill', y='tip', data=tips, kind='hex')<jupyter_output><empty_output><jupyter_text>2. 이차원 밀집도 그래프 (등고선그래프) - kdeplot()    [참고] 함수의 도움말 : 함수에 커서 놓고 shift + tab        전체금액과 팁의 밀집도 그래프를 그리기<jupyter_code>axes = sns.kdeplot(data=tips['total_bill'], data2=tips['tip'])<jupyter_output><empty_output><jupyter_text>3. 막대그래프 - barplot()      * 이산형 데이타(명목데이타)          [예] 시간때('time')에 따라 지불한 비용('total_bill)'의 평균 그래프<jupyter_code>plt.subplot()
# axes = sns.countplot(x=tips['time'], y=tips['total_bill'])    # 데이터가 많아 그래프를 그릴 수 없다. 카운터는 하나
axes = sns.barplot(x=tips['time'], y=tips['total_bill'])    # 데이터 값의 평균값을 나타내기때문에 그릴 수 있다.<jupyter_output><empty_output><jupyter_text>4. 박스그래프 - boxplot()      : 최소값, 4분위수, 평균값, 이상치 등의 통계량을 한번에 표현하는 그래프          - 1분위수와 3분위수를 박스로 그려짐     - 박스 내부의 선은 중앙값이다 (평균값이 아님)     - 박수 외부의 선은 최솟값과 최댓값인데         ` 최솟값 : 1분위수 - ( IQR * 1.5 )         ` 최댓값 : 3분위수 + ( IQR * 1.5 )         ` IQR = 3분위수 - 1분위수     - 선 밖의 점은 outlier로 결측치이다<jupyter_code>%autosave 0
plt.subplot()
axes = sns.boxplot(x=tips['time'], y=tips['total_bill'])<jupyter_output><empty_output><jupyter_text>5. 바이올린 그래프 - violinplot()     : 박스 그래스는 통계 수치를 확인하기 위해 자주 사용되지만 데이터 분산이 모호하기에        박스 그래스에 커널 밀도를 표현한 그래프<jupyter_code>plt.subplot()
axes = sns.violinplot(x=tips['time'], y=tips['total_bill'])<jupyter_output><empty_output><jupyter_text>6. 관계 그래프 - pairplot()     [그래프 분석]    1. 데이타셋에서 연속형 데이타로 된 컬럼    2. 동일 컬럼인경우 즉 하나의 변수이기에 히스토그램으로 나옴    3. 다른 변수와의 결합은 이차원 그래프로 산점도 그래프로 나옴    4. 대각선으로는 동일한 결과<jupyter_code># sns.pairplot(tips)
pair_grid = sns.PairGrid(tips)
pair_grid.map_upper(sns.regplot)
pair_grid.map_lower(sns.kdeplot)
pair_grid.map_diag(sns.distplot)<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.13178893178893178, 'fraction_numerical': 0.012612612612612612, 'mean_word_length': 3.1472785485592314, 'pattern_counts': {'":': 0, '<': 33, '<?xml version=': 0, '>': 33, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '8', 'dir': 'jupyter-structured-clean-dedup', 'id': '325476', 'license': 'MIT', 'n_tokens_mistral': 2445, 'n_tokens_neox': 3086, 'n_words': 421, 'path': 'jupyter/dAnalysis/d_matplotlib_class/Ex07_seaborn_2.ipynb', 'repo_name': 'WoolinChoi/test', 'size': '3885'}