본문 바로가기
Project 관련 기록

[DevCourse] Monthly EDA Project (1) EDA Baseline을 작성하면서 배운 시각화 방법

by 다람이도토리 2021. 5. 12.

프로그래머스 DevCourse 인공지능과정 Monthly Project (1)

EDA를 webpage를 통해 보여줘야 하는 것이 Monthly Project이다.

풀 코드는, github Link를 통해 대체하고, 기본적으로 사용할 자료를 만들면서 배운 내용을 다음과 같이 정리한다.

Full code

github.com/SeongwonTak/programmers_kdt_II/blob/week4%ED%83%81%EC%84%B1%EC%9B%90/EDA/EDA_project_happiness2021.ipynb

 

SeongwonTak/programmers_kdt_II

KDT 인공지능 교육과정 1개월차 Material. Contribute to SeongwonTak/programmers_kdt_II development by creating an account on GitHub.

github.com

 

원그래프를 도넛형으로 만들고, 범례를 겹치지 않게 만들기

#Using matplotlib piechart to shown be donut
pie, ax = plt.subplots(figsize=[8,8])
labels = data.keys()
plt.pie(x=data, autopct="%.1f%%", 
        pctdistance=0.8,  # % 값 표기를 중심에서 얼마나 떨어트릴 것인가에 대한 변수.
        wedgeprops=dict(width=0.5) # 도넛형을 만드는 방법., 
        startangle = 90,
        counterclock = False  # 시계방향으로 데이터가 채워진자.)
plt.legend(labels, bbox_to_anchor=(1.0, 1.0)) # 범례가 안겹치게 하기 위해 anchor 사용.
plt.title('Ratio of Regions that have happiness score >= 6')
plt.show()

 

막대그래프를 그리고, 원하는 조건의 막대면 강조하여 칠하는 방법

seaborn 패키지로, 막대그래프를 그릴 때는 palette를 설정하여 색을 자유롭게 설정할 수 있다. 이를 조금 더 활용하여, palette를 custom으로 만들어버리면 된다.

def set_custom_palette(series, kor_color = 'crimson', other_color = 'gray'):
    pal = []
    for country in series:
        if country == 'South Korea':
            pal.append(kor_color)
        else:
            pal.append(other_color)
    return pal

다음과 같은 방식으로 palette를 제작시 country가 한국인 데이터에 대해서만 crimson 색을, 나머지 국가에 대해서는 gray색을 적용한다.

이제 이를 seaborn을 통해 그릴 때, palette 설정 또한 반드시 해줘야 한다.

palette = set_custom_palette(happy_gdp['Country'])
sns.set_palette(palette)

이를 추가해야 한다.