[Visualization]Correlation Matrix

2021. 8. 18. 22:11Python/Visualization

import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
import matplotlib.font_manager as fm

def correlation_matrix(df, title='', num_size=15, font_scale=2):
    sns.set(font_scale=font_scale)
    fm.get_fontconfig_fonts()
    font_location = 'C:\Windows\Fonts\KoPubWorld Dotum Medium.ttf'    # font location
    font_name = fm.FontProperties(fname=font_location).get_name()
    plt.rc('font', family=font_name)

    mask = np.zeros_like(df.corr(), dtype=np.bool)
    mask[np.triu_indices_from(mask)] = True
    mask[np.diag_indices_from(mask)] = True  
    """
    첫 번째 마스크 True 시, 상삼각 행렬 제거.
    두 번째 마스크 True 시, 대각 원소 제거.
    """

    plt.figure(figsize=(24, 12)) # figure size
    plt.title(title)
    sns.heatmap(data = df.corr(), mask=mask, annot=True, fmt = '.4f', linewidths=.5, cmap='coolwarm', annot_kws={'size':num_size})

 

예쁜 데이터를 만들기는 귀찮아서 2019. 1. 1부터 2021. 8. 18 현재까지의 몇몇 대형주 종가 데이터를 급조했다...

 

correlation_matrix(df, title='주가')
correlation_matrix(rate, title='주가 상승률')

'Python > Visualization' 카테고리의 다른 글

matplotlib.pyplot  (0) 2021.09.03
[Python]Moving Average & Disparity - 1. 종류  (0) 2021.07.27
Python을 이용한 시각화 시작하기  (0) 2020.12.31