seaborn 1) 다양한 시각화 함수에 이어 2) 커스터마이징편입니다. 시각화를 수행할 때 자주 사용하는 커스터마이징 세팅 들을 소개하겠습니다! seaborn은 matplotlib를 기반으로 시각화를 수행하는 패키지라고 했었죠. matplotlib의 함수를 사용하면 쉽게 원하는 그림을 그릴 수 있답니다.
사용하는 데이터는 이전과 동일하니, 이전 포스트를 참고해주세요. 사용하는 패키지는 pandas, seaborn, matplotlib입니다.
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
1. 그림 크기 변경하기
figure 함수의 figsize 파라미터를 변경하여 그림의 사이즈를 조절합니다. 튜플로 (가로 사이즈, 세로 사이즈)를 지정해줍니다.
plt.figure(figsize=(10, 5))
sns.scatterplot(x='fixed_acidity', y='pH', hue='alcohol_grp', data=df)
plt.show()
2. 그림에 타이틀 붙이기
title 함수를 사용합니다. fontsize 파라미터를 조절하여 글씨 크기를 조절할 수 있습니다.
plt.title('Scatterplot', fontsize=20)
sns.scatterplot(x='fixed_acidity', y='pH', hue='alcohol_grp', data=df)
plt.show()
3. 축 이름과 폰트 사이즈 변경하기
x축 이름 설정은 xlabel 함수를, y축 이름 설정은 ylabel 함수를 이용합니다.
제목의 글씨 크기를 변경했을 때와 마찬가지로 fontsize 파라미터를 조절하여 축 이름의 글씨 크기를 변경할 수 있습니다.
plt.xlabel('nonvolatile acid', fontsize=15)
plt.ylabel('pH(0(very acidic) to 14(very basic))', fontsize=15)
sns.scatterplot(x='fixed_acidity', y='pH', hue='alcohol_grp', data=df)
plt.show()
4. x, y축 구간 변경, 레이블 회전 및 폰트 사이즈 변경
x축과 y축의 구간(눈금) 변경은 xlim, ylim 함수를 이용합니다. 시작 지점과 종료 지점 값을 지정하여 사용합니다.
각 축의 레이블(눈금값)을 회전하거나, 폰트 사이즈를 변경하거나, 혹은 특정 값만 표시하고 싶을 때는 xticks, yticks 함수를 이용합니다.
rotation 파라미터를 이용해 회전 각도를 설정할 수 있고, ticks 파라미터를 이용해 리스트로 값을 부여하면 해당하는 값만 그래프에 나타낼 수 있습니다.
plt.xlim(2, 20)
plt.xticks(rotation=45, fontsize=15)
sns.scatterplot(x='fixed_acidity', y='pH', hue='alcohol_grp', data=df)
plt.show()
plt.ylim(2.5, 4.5)
plt.yticks(ticks=[2.5, 3.5, 4.5], rotation=45, fontsize=15)
sns.scatterplot(x='fixed_acidity', y='pH', hue='alcohol_grp', data=df)
plt.show()
5. 색상 변경하기
seaborn의 set_palette 함수를 이용하면 seaborn을 통해 그리는 그림들의 색상 컨셉을 설정할 수 있습니다.
한번 설정하면 이후 그림들도 모두 해당 컨셉으로 그려져요.
sns.set_palette('twilight')
sns.scatterplot(x='fixed_acidity', y='pH', hue='alcohol_grp', data=df)
plt.show()
모든 그림들을 동일한 색상 컨셉으로 그리고 싶지 않다면, 그림을 그릴 때마다 palette 파라미터를 지정하여 색상을 변경할 수도 있습니다.
sns.scatterplot(x='fixed_acidity', y='pH', hue='alcohol_grp', data=df, palette='Set2')
plt.show()
seaborn에서 제공하는 색상 조합말고 나만의 색상 조합을 이용해 그림을 그리고 싶다면, 아래와 같이 코드를 작성할 수도 있습니다.
color_palette 함수에 리스트로 다양한 색상 코드를 넣어주고, 이를 set_palette에 할당하여 직접 파레트를 만드는 것이죠.
customPalette = sns.set_palette(sns.color_palette(['#3EB595', '#FFF447', '#C9C9C9']))
sns.scatterplot(x='fixed_acidity', y='pH', hue='alcohol_grp', data=df, palette=customPalette)
plt.show()
set_palette 함수를 통해 사용할 수 있는 다양한 파레트는 아래 링크에서 자세하게 설명하고 있으니 참고 바랍니다.
https://medium.com/@morganjonesartist/color-guide-to-seaborn-palettes-da849406d44f
Color Guide to Seaborn Palettes
Seaborn arguably has one of the most rich visualization packages for python. It contains beautiful colors with powerful controls of…
medium.com
자신만의 색상 조합을 만들고 싶다면 아래 어도비 사이트에서 색상 코드를 가져다가 사용해봐도 좋을 것 같네요.
https://color.adobe.com/ko/explore
https://color.adobe.com/ko/explore
color.adobe.com
참고
https://seaborn.pydata.org/index.html
seaborn: statistical data visualization — seaborn 0.11.2 documentation
Seaborn is a Python data visualization library based on matplotlib. It provides a high-level interface for drawing attractive and informative statistical graphics. For a brief introduction to the ideas behind the library, you can read the introductory note
seaborn.pydata.org
http://datacamp-community-prod.s3.amazonaws.com/263130e2-2c92-4348-a356-9ed9b5034247
'繩鋸木斷水滴石穿 > Python' 카테고리의 다른 글
os.path 를 이용하여 파일 경로와 디렉토리 다루는 방법 (0) | 2022.03.06 |
---|---|
[YML/YAML] 파이썬에서 YAML(야믈) 파일 다루는 방법 (0) | 2022.03.04 |
[시각화][seaborn] 1) 기본적인 데이터 시각화 함수들 (0) | 2021.11.13 |
[pandas] 칼럼 이름 변경하기: rename, set_index, columns (0) | 2021.10.31 |
imblearn 모듈을 이용한 불균형 데이터 다루기 (0) | 2021.10.11 |