ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Chapter 04-4~04-5 데이터프레임과 시리즈로 그래프 그리기, seaborn 라이브러리로 그래프 스타일 설정하기
    Do it! 판다스 입문 2022. 6. 20. 17:19

    데이터프레임과 시리즈로도 그래프를 그릴 수 있습니다. 간편하게 그래프를 그리고 싶은 경우에는 데이터프레임이나 시리즈를 사용하여 바로 그래프를 그릴 수 있습니다.

     

     

    데이터프레임과 시리즈로 그래프 그리기

    1. 우선 히스토그램을 그려볼까요? 시리즈에 있는 plot 속성에 정의된 hist 메서드를 사용하면 해당 시리즈의 값을 이용하여 히스토그램을 바로 그릴 수 있습니다.

    ax = plt.subplots( )
    ax = tips['total_bill'].plot.hist( )

     

    2. 투명도를 조절하려면 hist 메서드의 alpha, bins, ax 인자를 사용하면 됩니다. 다음은 tips 데이터프레임에서 2개의 시리즈를 선택하여 히스토그램을 그린 것입니다.

    fig, ax = plt.subplots( )
    ax = tips[['total_bill', 'tip']].plot.hist(alpha=0.5, bins=20, ax=ax)

     

    3. 밀집도, 산점도 그래프, 육각 그래프는 각각 kde, catter, hexbin 메서드를 사용하여 그릴 수 있습니다.

    ax = plt.subplots( )
    ax = tips['tip'].plot.kde( )


    fig, ax = plt.subplots( )
    ax = tips.plot.scatter(x='total_bill', y='tip', ax=ax)

    fig, ax = plt.subplots( )
    ax = tips.plot.hexbin(x='total_bill', y='tip', ax=ax)

     

    4. 이때 육각 그래프의 육각형 크기는 gridsize 인자를 사용하여 변경할 수 있습니다.

    fig, ax = plt.subplots( )
    ax = tips.plot.hexbin(x='total_bill', y='tip', gridsize=10, ax=ax)

     

    5. 다음은 box 메서드를 사용하여 그린 박스 그래프입니다.

    fig, ax = plt.subplots( )
    ax = tips.plot.box(ax=ax)

     

     

     

     

     

    seaborn 라이브러리로 그래프 스타일 설정하기

    seaborn 라이브러리로 만든 그래프는 모두 기본 스타일이었습니다. seaborn 라이브러리로 만든 그래프의 스타일은 set_style 메서드를 사용하여 바꿀 수 있습니다. set_style은 스타일을 적용할 부분에서 한 번만 실행하면 됩니다. 그러면 메서드를 실행한 이후의 그래프가 모두 지정한 스타일로 바뀝니다. 다음 예제를 통해 스타일 설정 방법을 간단히 알아볼까요?

     

     

    그래프에서 스타일 적용하기

    fig, ax = plt.subplots( )
    ax = sns.violinplot(x='time', y='total_bill', hue='sex', data=tips, split=True)

     

    2. whitegrid로 스타일을 설정하여 그래프를 그리면 어떻게 될까요? 그래프의 배경에 가로 줄이 생겼습니다.

    sns.set_style('whitegrid')
    fig, ax = plt.subplots( )
    ax = sns.violinplot(x='time', y='total_bill', hue='sex', data=tips, split=True)

     

    3. 다음은 for문을 이용하여 모든 스타일을 하나씩 적용한 그래프입니다.

    fig = plt.figure( )

    seaborn_styles = ['darkgrid', 'whitegrid', 'dark', 'white', 'ticks']

    for idx, style in enumerate(seaborn_styles):
        plot_position = idx + 1
        with sns.axes_style(style):
            ax = fig.add_subplot(2, 3, plot_position)
            violin = sns.violinplot(x='time', y='total_bill', data=tips, ax=ax)
            violin.set_title(style)
            
    fig.tight_layout( )

     

     

     

     

     

    마무리하며

    이 장에서는 다양한 그래프를 그리는 방법에 대해 알아보았습니다. 데이터 시각화는 데이터를 분석하기 위해 반드시 알아야 하는 중요한 요소입니다. 앞으로는 좀 더 복잡한 형태의 그래프들이 나오므로 이번 장의 실습 내용을 반드시 익힌 후에 다음 장으로 넘어가기 바랍니다. 더 많은 정보를 알고 싶다면 구글에 seaborn documentation이나 matplotlib documentation을 검색하여 나오는 공식 문서를 참고하세요.

Designed by Tistory.