• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

catplot

21.01.07 19:13 작성 조회수 394

1

plt.figure(figsize=(15,3))

sns.catplot(data=food, x="상권업종중분류명", y="상호수",kind="bar",col="시군구명",col_wrap=4)를 했을 때 

그래프 밑에 상권업종중분류명이 안나오는 그래프도 있는데 이유가 뭘까요?

답변 1

답변을 작성해보세요.

1

안녕하세요.

seaborn  의 catplot은 범주형 데이터를 시각화 할때 서브플롯을 편하게 그려주는 그래프에요.

코드 한 두 줄로 범주형 변수의 값에 따라 서브플롯을 그려볼 술 수 있다는게 정말 큰 장점인데요.

상권업종중분류명이 안 나오는 그래프도 있는 건 sharex 라는 옵션 때문이에요.

기본값이 True 로 되어 있는데 sharex = False 로 설정해 주게 되면 x축 값을 표현해 줄텐데

이렇게 그리면 다음과 같은 warning 메시지가 뜰거에요. 

  • seaborn/categorical.py:3793: UserWarning: Setting `sharex=False` with `color=None` may cause different levels of the `x` variable to share colors. This will change in a future version. warnings.warn(msg.format("sharex", "x"), UserWarning)

이 경고 메시지를 읽어보면 앞으로 이 기능이 미래에 변경될거라고 하는데요.

일단은 sharex = False  로 사용하려면 경고메시지가 출력되지 않게 설정하고 사용하라는 메시지에요.

그리고 catplot은 FacetGrid 라는 걸 통해서 서브플롯을 그려주는데 한번에 그래프를 그려주는 대신 x축 label값의 기울기를 변경한다든지 할때 matplotlib의 기능을 사용해야 하는 점이 조금 까다롭습니다.

x 축 값이 잘 안 보인다면 다음과 같이 x, y 축을 변경해서 그려보는 것도 방법일거 같습니다.