그래프 알아보기-파이차트(+도넛차트)

반응형

파이차트는 말이죠... 둥글고... 둥글어요. 끝임.


파이차트? 도넛차트?

여러분들 피자 어떻게 생겼어요 피자? 동그래요. 네모난것도 있을거고 조각피자는 부채꼴이지만 보통 피자집에서 파는 피자는 둥그렇습니다. 그리고 인별이나 빵집에서 보는 파이나 타르트 역시 둥글게 생겼습니다. 그리고 도나쓰는 둥글고 안에 잼이나 크림같은 것을 채운 것도 있지만 기본은 가운데에 구녕뚫린 모양이죠?

 

그럼 이런 둥근 물체들을 공평하게 나누는 방법이 뭐겠어요? 뭐 피자를 적분해서 네모꼴로 자르진 않을 거 아님. 피자를 지름따라 딱 갈라서 6등분이건 8등분이건 하잖아요? 케키도 그렇고, 파이도 마찬가지다. 도넛... 그걸 근데... 나눌 일이 있음? 난 누구랑 베이글이나 도넛 나눠먹어본 적이 없어... 아무튼 케키나 피자나 둥근 파이나 조각을 위에서 보면 부채꼴인데, 파이차트에서 '비율'을 나타내는 조각 역시 부채꼴이다. 도넛 차트는 거 파이차트 가운데에 구녕 뚫어주십쇼.

 

비율을 나타내는 차트

파이차트나 도넛차트는 전체 중에서 차지하는 비율을 시각화할 때 쓰는 차트이다. 뭐 가끔 몇개 몇명 이런 식으로 명시할 때도 있지만 기본적으로는 그래서 비율이 얼만데? 를 보고자 하는 것이다. 예를 들자면 스타벅스를 이용하는 100명의 고객 중에서 톨, 벤티, 그란데를 시키는 사람들의 비율을 나타낸다던가 할 때 말이다. 보통 여론조사나 설문조사 결과 시각화할 때 많이들 쓰는데 긍정 부정 뭐 이런거 비중 나타낼때도 좋고 긍정적인 반응을 보인 사람들 중 특정 집단의 비율이 얼마인지를 보여주기에도 좋다.

 

Sunburst chart

Plotly에는 계층형 파이차트로 선버스트 차트라는 게 있는데, 이건 걍 파이+도나쓰다. 부모계층과 자식계층을 정하면… 여기서는 어떤 쇼핑몰을 이용하는 고객들의 성별과 연령대로 예를 들어보자. 부모계층이 성별이고 자식계층이 연령대라면 일차적으로는 부모계층인 성별로 비율을 나눈 다음, 자식계층인 연령대로 그 안에서 비율을 나눠서 보여줄 수 있는 차트이다. 저 이미지에 군데군데 빈 건 자식계층이 없는거라 그렇다.

 

조심해야 할 것

내가 팀플 하면서 지적받았던 사항이기도 함… 시각화를 할 때 가장 중요한 건 가독성입니다. 그래프가 암만 이뻐봐야 보는 사람들이 시각을 포기한다! 를 외친다면 그건 증말 의미없는 그래프임. 근데 뭘 지적받았냐고? 파이차트, 도나쓰 차트와도 관련 있는거다.

 

Plotly는 기본적으로 그래프랑 상호작용을 하게 만든거라 작은 조각의 라벨이 밖으로 빠지는 게 아니라 안에 작은 글씨체로 들어가있습니다. 코드창에서 이거 보십쇼 딸깍 하면 문제가 없는데, PDF나 PPT에 첨부할때는 그래프를 이미지 형태로 저장하기때문에 그게 안됩니다. 그러면 읽는 사람 입장에서 악 내눈! 을 외치게 된다 이거죠. 특히 비율이 너무 작은(그래프 바이 그래프긴 한데 보통 3% 미만부터 가독성 시망임) 조각들은 있는 그대로 보여줬다간 시각을 포기하게 됩니다. GA4에서 사용자 유입 관련으로 비율을 매겼는데, 이게 너무 작은 조각들이 있어서 제대로 안 보여서 지적받았었다. 나중에 버블차트로 바꾸긴 했다만...

 

그럼 이걸 어떻게 처리하면 되나요? 이렇게 하면 되나 싶어서 물어본 방법이 하나 있었는데, 강사님이 그렇게 해야 한다고 말했던 방법이기도 하다. 일정 비율 미만인 조각들을 합쳐서 기타로 퉁치는 것 말이다. 그 데이터가 비율이 좀 시망이라고 그걸 뺄 수는 없으니까 마찬가지로 비율이 적은 애들을 모아서 떨거지들… 아니고 기타로 취급하면 그래도 조금은 조각 크기가 커지거든요. 물론 필요하다면 기타 내에서 뭐가 몇%인지 이런걸 따로 보여주거나 구두로 언급하던가 하긴 해야겠지만…

반응형