ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 대표적인 Matplot 시각화 라이브러리
    CS 공부/Data Visualization 2023. 3. 31. 23:12

    Missingno


    • 결측치를 체크하는 시각화 라이브러리
    • 빠르게 결측치의 분포 확인하고 싶을 때
    • pip install missingno
    import missingno as msno
    titanic = sns.load_dataset('titanic')
    msno.matrix(titanic)
    #msno.bar(titanic) bar형태로 출력

     

     

    Treemap


    • 계층적 데이터를 직사각형을 사용하여 포함 관계를 표현
    • 사각형을 분할하는 타일링 알고리즘에 따라 형태가 다양해짐
    • 큰 사각형을 분할하여 전체를 나타내는 모자이크 플롯과 유사
    • pip install squarify 또는 Plotly의 treemap
    import squarify
    values = [100, 200, 300, 400] # 각 사각형 넓이 (비율)
    label = list('ABCD') # 값 이름
    color = ['#4285F4', '#DB4437', '#F4B400', '#0F9D58'] # 각 사각형의 색깔
    squarify.plot(values, label=label, color=color, pad=0.2, # pad: 사각형간 margin
                 text_kwargs={'color':'white', 'weight':'bold'} #label 글씨 색,굵기
                 )

     

     

    Waffle Chart


    • 와플 형태로 discrete하게 값을 나타냄
    • 기본형태는 정사각형이지만 Icon을 사용한 Waffle chart도 가능(pictogram chart)
    • 인포그래픽에서 유용
    • pip install pywaffle
    from pywaffle import Waffle
    fig = plt.figure(
        FigureClass=Waffle, 
        rows=5, # 세로 column=가로
        values=[48, 46, 6], #합=100인데 50칸이므로 24,23,3칸씩
        figsize=(5, 3)
        #cmap_name='tab10' 색 테마
        #legend={'loc': 'upper left', 'bbox_to_anchor': (1.1, 1)} 범례
        #starting_location='SE NW, SW, NE' 시작 위치
        #block_arranging_style= 'new-line' 나열 방식. default='snake'
    )
    plt.show()

     

    아이콘 바꾸기 (FontAwsome 아이콘 사용)
    fig = plt.figure(
        FigureClass=Waffle, 
        rows=5,     
        values={'A': 50, 'B': 45, 'C': 15}, 
        legend={'loc': 'lower left', 'bbox_to_anchor': (0, -0.4), 'ncol': len(data), 'framealpha': 0},
        icons='dog', #어떤 아이콘 쓸지
        icon_legend=True, #아이콘을 범례로 사용할 것인지
        font_size=15, #아이콘 사이즈
    )
    plt.show()

     

     

     

    Venn (벤다이어그램)


    • 집합(set) 등에서 사용하는 벤 다이어그램 (지양)
    • EDA 보다는 출판 및 프레젠테이션에 사용
    • pip install pyvenn or pip install matplotlib-venn
    from matplotlib_venn import venn2
    venn2(subsets = (3, 2, 1), set_labels = ('group A', 'group B'))
    #첫번째 set에 들어갈 내용, 두번째 set에 들어갈 내용, 교집합에 들어갈 내용
    
    #set을 전달하면 자동적으로 counting 하여 표현해준다
    #set1 = set(['A', 'B', 'C', 'D']), set2 = set(['B', 'C', 'D', 'E'])
    #venn2([set1,set2])하면 자동 계산됨

     

     

    'CS 공부 > Data Visualization' 카테고리의 다른 글

    비정형 데이터셋 시각화  (0) 2023.04.09
    Plotly Express (Interative Visualization)  (0) 2023.04.02
    Pie Chart ➰  (0) 2023.03.31
    Polar Plot, Radar Plot (극좌표계)  (0) 2023.03.31
    Seaborn  (0) 2023.03.27
Designed by Tistory.