-
카테고리
-
세부 분야
데이터 분석
-
해결 여부
미해결
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
박조은
지식공유자2021.01.07
안녕하세요.
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 축을 변경해서 그려보는 것도 방법일거 같습니다.
답변 1