데이터 시각화 유의사항

이전 글에서 언급했듯이, 데이터 시각화를 활용화면, 데이터가 가진 정보를 압축하여 전달 가능합니다. 시각화 자료는 파워포인트, 엑셀의 보급과 함께, 학자뿐만 아니라 일반인들도 쉽게 접할 수 있는 자료가 되었고, 웬만한 보고서뿐만 아니라 TV 뉴스, 기사, 예능 프로그램 등 모든 매체를 통해 쉽게 접할 수 있는 우리 삶의 필수적인 요소가 되었습니다. 인터넷의 발달, 이미지 공유 SNS (인스타그램 등)의 발달, 인터넷 커뮤니티의 발달 등 다양한 이유로 쉽게 많은 시각화 자료들을 접할 수 있는데요, 이렇다 보니 시각화 자료 창작자들은 독자의 눈을 사로잡기 위해, 다양한 색을 조합하고, 새로운 색테마를 구성하고, 캐릭터를 추가하는 등 좋은 시각화 자료를 만들기 위해 경쟁하며 노력하고 있습니다. 하지만 이런 노력에도 비효율적이거나 잘못된 의미를 전달하는 시각화 자료를 종종 접하게 됩니다. 잘못된 시각화 자료는 내포하는 정보를 왜곡하여 전달할 뿐만 아니라, 독자를 혼란에 빠트릴 수도 있습니다. 효과적인 정보전달의 정반대 결과를 초래하게 되는 것이죠.

본글에서는 제가 겪고 들은 몇몇 잘못된 시각화 방법의 예시와 해결책에 관하여 얘기하고자 합니다.

빨주노초파남보, 내 그래프는 무지개다 !

일반적으로 사람의 눈은 수만 가지의 색을 구분할 수 있다고 합니다. 하지만 실제로 쉽게 구분 가능한 색상들은 그리 많지 않습니다. 또한, 컴퓨터 모니터 또는 출력하여 보는 경우, 모니터 및 프린터의 사양에 따라 색들이 조금 다르게 표현되는 때도 있어, 색을 구분하기 어려운 경우가 종종 있습니다. 예를 들어, 아래의 3개의 직사각형을 봐주시기 바랍니다. 여러분은 세 사각형의 색이 구분 가능하신가요?

색 구분

두번째 사각형이 다른 색이라는 것은 꽤 쉽게 분별할 수 있지만, 첫 번째와 세 번째 사각형이 다르다는 것은 구분하기 어려워 보입니다.

색 구분2

위와같이 세 직사각형을 합쳐서 비교하면, 각각의 사각형이 다른 색으로 채워졌다는 것을 더욱 확실히 알 수 있습니다. 이렇듯, 비슷한 색을 사용하는 경우, 색 간 공간의 유무, 색의 배치 등 다양한 조건에 따라 분별력이 크게 차이 나게 됩니다. 이런 비슷한 색들을 이용하여 그래프를 그리게 되면 어떻게 될까요?

다음은 1992년부터 2012년까지 매 10년간 대한민국 행정구역별 인구 변화를 나타내는 그래프입니다.

rainbow

압도적으로 많은 인구 수를 자랑하는 두 행정구역 (빨간색 표기)이 어디 곳인지, 대구,대전, 부산 중 어떤 곳의 인구가 많은지 확인 가능하신가요? 이렇게 색깔을 이용하여 다수 그룹을 구분 짓는 것은 분별력이 매우 떨어지며, 통상 구별대상이 6개 이상일 때에는 적합하지 않습니다. 6쌍의 대비/분별력이 좋은 색을 찾기가 쉽지 않기 때문입니다. 그래서 무지개색의 휘황찬란한 그래프는 명료하게 정보를 전달하는 좋은 시각화 방법이 아닙니다. 그렇다면, 어떻게 17개 행정구역을 구분하여 시각화하는 것이 좋을까요?

먼저, 아래와 같이 표로서 행정구역별 인구 변화를 표현하는 방법이 있습니다.

rainbow_table

이 경우, 구역별 인구의 변화를 명확하게 전달 할 수 있지만, 지역 간 비교가 어려우며, 추세를 파악하기 어렵습니다. 서울의 인구는 감소세를 보였지만, 경기, 인천, 제주 등은 인구가 증가하였는데요, 이를 상기 표를 이용하여 한눈에 확인하기는 쉽지 않습니다.

분할

그렇다면, 위 데이터를 그룹별로 구분하면서, 대략적인 추세를 한눈에 파악 가능하기 위해서는 그래프를 어떻게 수정하는 것이 좋을까요? 한 그래프에 모든 행정구역의 인구 변화를 보여주는 것이 아니라, 적절한 기준에 따라 3~4개의 그래프로 나누어 나타내는 것이 필요해 보입니다. 그 이유는, 행정구역이 17개나 되어 한 번에 표현하는 경우 구분이 어려우며, 몇몇 지역들의 인구는 눈으로는 분간이 힘들 정도로 비슷하기 때문입니다 (대전 vs 광주 그리고 전남 vs 전북). 따라서 저는 17개의 행정 구역을, 경상권 (대구,부산,울산,경상남도, 경상북도), 전라권(광주,전라남도, 전라북도), 충청권 (대전,세종, 충청북도, 충청남도), 경기/강원/제주권 (서울, 인천, 경기, 강원,제주)의 권역으로 분류하였으며, 아래와 같이 총 5개의 그래프로 인구의 변화를 표현하였습니다. 또한, 행정구역명을 표시하여, 조금 더 효과적으로 구역간 구분이 되도록 하였습니다. 그 결과, 이전 그래프 대비, 쉽게 행정구역별 각각 인구의 변화 파악이 가능해졌습니다.rainbow_facet

한마디로 요약하면, 되도록이면 한면에 7개 이상의 데이터를 표현하지 말자.

우리의 소원은 통일

여러 그래프를 사용하는 경우, 유의해야 할 사항이 있습니다. 바로 그래프 간 요소(사용한 색, x,y축, 단위 등)를 통일시키는 것입니다. 그래프별로 나타내는 데이터 자체가 다르지 않은 경우에는 그래프간 요소들을 통일해주는 것이 좋습니다. 매우 비슷한 인구를 보이는 전남과 전북의 인구를 예시 그래프들과 함께 자세히 살펴보도록 하겠습니다.

wrong_1

위의 4개의 그래프는 각각 전남과 전북 지역의 1992년-2012년 평균 인구수, 1992년, 2002년, 2012년 각각의 인구수를 나타내는 그래프입니다. 얼핏 보기에는, 전남과 전북의 인구 변화를 잘 비교한 것처럼 보이지만, 개선될 요소들이 매우 많습니다.

먼저, 색 통일이 이루어져야 합니다. 위 4개의 그래프는 전북과, 전남이라는 같은 지역의 인구 변화를 나타내고 있음에도, 그래프마다 다른 색을 사용하여 전남과 전북을 구분하고 있습니다. 이렇게 같은 내용의 데이터를 다른 색으로 표현하는 경우, 독자로 하여금 대상이 달라진 것과 같은 혼동을 일으킬 수 있습니다. 또한, 인구를 나타내는 Y축이 통일되어 있지 않은 것을 알 수 있습니다. 이렇게 표현하는 경우 갑자기 8월에 전남과 전북 간 큰 인구 차가 발생한 것처럼 오해를 불러일으킬 수 있습니다. 그래프 Y축의 통일이 필요해 보입니다. 50만, 25만, 20만 등 눈금 간 간격이 제각각입니다. 또한, Y축의 시작점 역시 0, 180만, 150만 명으로 제각각이며, Y축의 최댓값 또한 모두 다릅니다. 따라서 Y축의 눈금 및 범위의 통일이 요구됩니다. 또한, X축의 통일 역시 필요해 보입니다. 나머지 3개의 그래프는 전남-> 전북 순으로 표시됐지만, 2002년의 인구를 나타내는 그래프의 경우 전북->전남의 순서로 그래프가 표시되었습니다. 이 또한 독자를 혼란시키는 요소가 될 수 있습니다.

wrong_2

이전의 그래프 대비 구분 색, 축의 범위, 순서 등 대부분 요소가 통일되어, 보다 가독성이 높은 그래프가 되었습니다. 하지만 수정된 이 그래프들 또한 여전히 개선의 여지가 있는 부분들이 다수 존재합니다.

범례 (legend)가 필요 없는 그래프가 좋은 그래프

시각화 자료 대부분이 아래의 그래프와 같이 범례(빨간색 표기)를 사용하여 데이터 내의 구분자를 표현합니다.

legend_1

시각화 자료 대부분이 아래의 그래프와 같이 범례(빨간색 표기)를 사용하여 데이터 내의 구분자를 표현합니다. 하지만, 위 그래프와 같이 다른 색을 사용하여 그룹 간 (전남/전북)을 구분하는 경우 또는 범례를 사용하지 않고 명확하게 구분이 될 때에는 범례의 사용은 지양하는 것이 좋습니다. 앞서 색 사용에 따른 분별력에서 언급했듯이, 색 간 공간의 유무 및 배치에 따라 분별력이 크게 영향을 받기 때문입니다. 색이 아닌 선 또는 면의 종류(빗금, 물방울, 채우기 X 등)를 표시하기 위해서는 범례가 적합한 때도 있지만, 색만을 사용하는 경우, 특히 구분 대상의 수가 많아지면 많아질수록 범례의 색과 그래프 상의 색을 대조하는 것이 어려워지기 때문에 더더욱 범례의 사용은 지양해야 합니다. 위 예시의 경우, 전남과 전북만 구분해주면 되기 때문에, 범례를 사용하는 것보단, 직접 그래프에 표시해주는 것이 적합해 보입니다. 굳이 독자로 하여금 그래프와 범례를 번갈아 볼 필요 없이, 그래프만 보아도 각각의 그룹이 어느 행정 구역에 해당하는지 알 수 있도록 말이죠.

legend_2

필요한 정보만

어떤 데이터가 갖는 성질을 시각화하여 정보를 전달하는 그래프는 주요소와 이를 보조하는 보조요소로 구분 가능합니다. 위의 전남/전북의 평균인구를 나타내는 막대그래프는 “인구”라는 변수의 값을 나타내는 막대가 주요소가 되며, X,Y축 단위, 눈금, 그래프의 제목 등이 보조요소가 되겠습니다. 올바른 보조요소의 설정은 그래프의 해석력을 상승시키지만, 그렇지 않은 경우에는 오히려 주 요소를 통해 전달하고자 하는 정보를 희석하게 됩니다.

하단의 좌측 그래프를 살펴보면, 약 12만명의 인구 차를 보이는 전남과 전북의 평균 인구를 나타내는데 Y축 눈금이 매 10만 명마다 표시되어 있어 눈금을 통해 평균인구를 가늠하기 어렵습니다. 또한, 인구수와 같이 값이 큰 데이터를 다룰 때에는 1명 단위의 눈금보다는 천 명 또는 만 명의 단위를 사용하는 것이 적합해 보입니다. 요약하자면, 필수적인 보조요소만 표시하여, 보조요소가 차지하는 면적을 최소화하는 것이 좋습니다.

tick_1

좌측 그래프를 개선한 우측의 그래프를 살펴보도록 하겠습니다. 먼저, 1단위로 표현되었던 인구수를 만 단위로 표현하였습니다. 전남과 전북의 인구를 파악하는데 필요없는 0부터 195만 명 까지의 눈금을 생략하였고, 또한 눈금간격을 5만으로 조정하였습니다. 그래프에 표기된 눈금의 수가 적어짐에 따라, 두 지역의 인구를 나타내는 막대에 대한 집중성이 향상됐으며, 눈간 간격 조정으로 그래프를 통해 대략적인 인구수 파악이 쉬워졌습니다.

데이터 왜곡.. 댓츠 노노

만약 위 전남과 전북 간 평균 인구 차를 나타내는 그래프를 이용하여, 두 행정구역간 인구 차가 크다는 주장을 펼치고 싶다면 어떤 식으로 그래프를 그려야 할까요? 아마 아래와 같이 그래프의 일부분 (190만 명 이상 부분)만 표기하여, 전남과 전북 간 인구 차가 커 보이도록 할 수 있을 것입니다.

y_axis_cut

위와 같이 그래프의 특정 부분만을 보여주는 경우, 정보의 왜곡이 발생하여 독자로 하여금 오해를 불러일으키게 합니다. Y축에 표시된 눈금을 살펴본다면 실제 인구 차는 약 12만 명 정도라는 것을 알 수 있지만, 얼핏 보았을 때에는 전라남도의 인구가 전라북도 인구의 3배를 웃도는 것처럼 보입니다. 이렇게 독자가 유의 깊게 보아야만 정보가 정확하게 전달되는 그래프는 올바른 그래프라고 할 수 없습니다.

그림1

같은 정보라도 표현방식에 따라 전달되는 의미가 크게 달라집니다. 그래서 데이터 분석가로서 그래프를 그릴 때에는 명확하고 객관적인 정보가 왜곡되지 않게 전달하는 것이 중요합니다. 왜곡된 미디어를 풍자하는 좌측 그림이 나타내듯이, 그래프 일부분만을 전달하는 경우, 사실과 다른 의미가 전달될 수 있습니다.

추가로, 1958년부터 1978년까지, 5명의 미국 대통령 임기기간별 1달러의 구매력을 나타내는 오른쪽 그림을 예로 살펴보도록 하겠습니다. 이 그림에 따르면, 아이젠하워 대통령의 임기기간을 기준으로, 1달러의 구매력은 지속해서 하락했고, 1978년 카터 대통령 재임 기간에 이르면 1달러로 구매할 수 있는 상품의 가치는 44센트로 아이젠하워 대통령 시기 대비 56% 감소했음을 알 수 있습니다. 하지만 그림으로 구매력을 표현하는 달러 지폐의 크기는 약 1/5의 크기로 표현되었습니다.(파란색 점선 vs 빨간색 실선 비교). 이전과 마찬가지로 독자가 유심히 살펴본다면 1달러의 구매력이 56센트까지 감소했다는 것을 알 수 있지만, 그림만 보았을 때 약 1/5 정도로 크게 하락했다고 받아들일 여지가 충분하며, 이런 그래프는 실제 정보를 왜곡하여 나타내므로 수정이 필요합니다.

마무리

1992년~2012년까지의 구역별 인구변화 그래프를 예로, 시각화기법을 사용할 경우에 유의해야 하는 점들을 살펴보았습니다. 비단 제가 언급한 유의점 외에도 그래프의 목적과 나타내는 정보에 따라 무수히 많은 유의사항들이 존재합니다. 가장 좋은 그래프는 해당 내용에 대한 지식이 전무한 사람이 얼핏 보더라도 전달하고자 하는 정보가 잘 나타나는 그래프입니다. 이런 그래프를 그리기 위해서는 데이터 각각에 따라 한땀한땀 수정해야하는 번거로움이 존재한다는 단점이 있지만, 현존하는 다양한 예제들과 라이브러리들을 사용하면 그리 어렵지 않게 원하는 시각화 자료를 생성 할 수 있습니다. 적절한 시각화 기법을 사용하여, 효과적이고 효율적인 정보전에 도움이 되는 그래프를 그리시기 바랍니다.