ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [혼공학습단 9기]혼자 공부하는 데이터 분석 with 파이썬 5주차 미션
    데이터분석 2023. 2. 9. 23:10

    5-1 맷플롯립 기본 요소 알아보기

    이번절에서는 맷플롯립을 이용하여 다양한 그래프 조작 방법을 알아보겠습니다.

     

    https://colab.research.google.com/drive/1EqQlJ1KWQjW3ZAgV_jB7Y9y3ha9AERe9?hl=ko#scrollTo=hA68XuwfgqDQ 

     

    Google Colaboratory Notebook

    Run, share, and edit Python notebooks

    colab.research.google.com

     

    - Figure 객체

    figure 객체는 모든 그래프 구성요소를 담고 있는 최상위 객체입니다. scatter메소드도 자동으로 figure객체를 리턴합니다. figsize는 그래프의 캔버스 크기를 조절하는 것이라고 생각하고(실제 값은 픽셀을 DPI로 나눠서 처리하는게 사용하기 편합니다. 기본 단위가 인치단위라서 익숙하지 않기에...) dpi는 돋보기 개념으로 생각하면 편합니다.ㅇ

     

    그래프에 기본으로 적용되있는 타이트 레이아웃을 없애기 위해서 %config InlineBackend.print_figure_Kwargs={'bbox_inches': None} 옵션을 사용합니다.

     

    dpi 매개변수로 기본 72인 dpi를 변경할 수 있습니다.

     

    - rcParams 객체

    rcParams객체는 그래프 기본 설정 객체이고 dpi, marker(그래프 표현 무늬)를 설정할 수 있습니다. scatter 메소드에서 marker 매개변수로 직접 입력할 수도 있습니다.

     

    - subplot 메소드

    subplot 메소드를 이용하여 여러개의 그래프를 그릴 수 있습니다. Axes객체를 이용하고 매개변수로 숫자를 넣으면 갯수만큼 axs객체  배열을 반환합니다. figsize,set_title로 크기조절, 제목을 입력할 수 있습니다. x,y라벨로 각 축의 이름도 지정할 수 있습니다. subplot의 매개변수는 행과 열이어서 행매개변수 숫자가 늘어나면 새로로 그래프가 늘어나고 열매개변수 숫자가 늘어나면 가로로 그래프가 늘어납니다.

    < subplot 그래프를 새로로 >
    <그래프를 가로로>

     

    5-2 선 그래프와 막대 그래프 그리기

     

    https://colab.research.google.com/drive/189VHdAGVqfRmQy6jzMsNjKshsrvr4hEc?hl=ko#scrollTo=5BMzHRGfvv65&uniqifier=1 

     

    Google Colaboratory Notebook

    Run, share, and edit Python notebooks

    colab.research.google.com

    가장 기본적인 그래프인 선,막대 그래프를 맥플롯립을 이용하여 그려보겠습니다.  선과 막대그래프는 한 축을 따라 어떤 데이터의 변화를 살펴보는데 용이합니다. 

    연도별 발행도서 갯수 구하기

    value_counts 메소드는 데이터프레임에서 고유한 값의 등장 횟수를 계산합니다. 그리고 이 value_counts메소드는 시리즈객체를 리턴합니다.  시리즈 객체에서 지원하는 sort_index메소드를 이용하여 오름차순으로 정리합니다. 시리즈객체에서도 부등호를 이용하여 원하는 구간의 데이터만 받아 올 수 있습니다.

    # 주제별 도서 개수 구하기 주제분류번호가 NaN인 것을 -1로 처리. 

    # 순서가 없는 데이터와 순서가 있는 데이터 순서가 없는 데이터는 명목형 데이터, 순서가 있는 데이터 순서형 데이터라고 합니다.

     

    - 선그래프 그리기

    plot메소드에 x,y축 데이터를 넣어서 그릴 수 있습니다. rcParams객체를 이용하여 ,dpi를 100으로 설정했습니다.

    # 선 모양과 색상 바꾸기

    linestyle 매개변수는 선모양 종류를 고를 수 있다.(실선 : -,점선 : :, 쇄선 : -., 파선 : --), color매개변수로 색도 지정가능한대 16진수컬러코드나 red처럼 색 이름도 지정할 수 있습니다. marker 매개변수로 데이터 위치를 명확하게 볼 수 있도록 합니다.plot 메소드에 문자열로 세개의 매개변수값을 넣을 수도 있다.ex).:b marker : ., linestyle : :, coler : blue

     

    #선 그래프 눈금 개수 조절 및 마커에 텍스트 표시하기

    xticks,yticks 메소드로 x,y축 눈금 조절이 가능합니다. 그래프에 데이터 표현을 위해 슬라이스연산자와 시리즈객체의 items메소드(인덱스와 value를 튜플형태로 가저오는 메소드)를 활용하여 5개에 하나 씩 값을 선택하여 annotate메소드로 값을 표현합니다. annotate메소드의 매개변수는 처음에 표현할 데이터, x,y축 좌표, xytext매개변수로 데이터 위치를 이동시킬 수 있습니다. 다만, 이 그래프처럼 y축좌표가 훨씬 클때는 textcoords매개변수에 상대적인 위치를 포인트나 픽셀로 지정하면 됩니다.'offset points'로 지정했습니다.

    - 막대 그래프 그리기(기본,추가 미션)

    막대 그래프는 bar메소드로 표현가능합니다. 막대그래프 크기는 bar매소드의 width매개변수로 조절이 가능합니다. 그래프에 데이터를 표현하는 annotate메소드에 color,fontsize,ha(막대그래프와 글자간의 위치 조절)를 이용하여 그래프를 표현할 수 있습니다.

    # 가로 막대 그래프 그리기

    가로로 그리기 위해서는 barh메소드를 사용합니다. width->height로 바뀝니다.annotate메소드에서는 x,y축이 서로 바뀝니다. 정렬을 나타내던 ha매개변수도 va로 바뀝니다.

     

     
    #그래프를 이미지로 저장하기

     

    미션은 본문 내용에 있습니다.

     

    데이터를 시각화 하는 챕터이고 내용자체가 심화스러운 내용은 없어서 그래프가 변경되는 것을 보면서 즐겁게 공부 했었습니다. 

Designed by Tistory.