[spotfire] 6. 차트 종류별 그래프 그리기 ② - 파이 그래프, 산점도, 3D 산점도, 지도 차트




6. 차트 종류별 그래프 그리기

6.5. 파이 그래프

파이 그래프(Pie chart)는 전체에 대한 각 부분의 비율을 표시하는데 많이 사용되는 시각화 차트 입니다. 파이 그래프는 매우 직관적인 대신에 표현할 수 있는 컬럼의 개수가 제한적입니다. 파이 차트는 색과 크기 2가지 요소 만을 사용할 수 있어 복잡한 데이터를 표현하기는 어렵습니다. 크기도 절대적인 크기 보다는 비율과 같은 상대적인 크기를 비교하는 것에 효과적입니다. 파이를 전체 100%로 보았을 때, 각 부분들의 합이 전체로 표현됩니다. 차트들은 서로 상호 변환이 가능하지만, 파이 그래프는 그 중에서도 100% 스택 막대 그래프로 대체 할 수 있습니다.

 


파이 그래프의 모습

 

예시 데이터 테이블로 그려본 파이 그래프입니다. 색으로 Ticker를 구별하였고, 크기로 EPS의 상대적인 크기를 표현 하였습니다.

 


l  6.5.1. 파이 색과 크기

파이 그래프를 구성하고 있는 요소는 2가지 입니다. 파이의 색과 크기이며, 여기서 의미하는 크기는 파이 내부를 나누는 섹션(Section)의 크기를 말합니다. 파이 그래프에서 2가지 요소들이 어떻게 설정하는지 살펴 보겠습니다.

위치: 차트 속성 - 색 탭 또는 크기 탭

 

 

파이 그래프 속성의 색과 크기

 

색과 크기 설정은 속성의 색 탭과 크기 탭에서 설정 할 수 있습니다. 파이 그래프에서 색을 설정하는 것은 곧 파이를 나누는 컬럼을 선택하는 것과 같습니다. 파이 색을 Ticker로 선택하는 것은 곧 파이를 Ticker로 나누겠다는 것 입니다. 따라서 연속적인 데이터보다는 불연속적인 데이터가 들어가는 것이 좋습니다. 또한 파이 그래프에서 크기를 설정하는 것은 곧 비율 컬럼을 선택하는 것과 같습니다. 절대적인 크기가 아닌 상대적인 비율로 파이 크기가 표시되기 때문입니다. 또한 크기 탭에서는 파이 내의 섹션 크기뿐만 아니라 파이 전체의 크기도 설정할 수 있습니다. 이 내용은 아래에서 다루겠습니다.

 


l  6.5.2. 파이 전체 크기와 격자 표시

파이의 전체 크기 설정은 격자 표시와 함께 이루어져야 합니다. 그 이유는 하나의 파이 크기 변경은 변경하는 의미가 없기 때문입니다. 여러 개의 파이가 있을 때 파이의 크기 간 차이가 나는 것도 의미가 있습니다. 또한 여러 개의 파이를 그린 다는 것은 격자 표시를 적용해야 함을 의미합니다.

위치: 차트 속성 - 크기 탭 또는 격자 탭

 


파이 그래프의 섹션 설정, 파이 크기 설정

 

위 그림은 격자 표시와 파이 크기 변경을 통해 여러 개의 파이를 그린 그래프 입니다. 격자 표시는 Year로 설정하고 파이 색은 Ticker, 파이 섹션 크기는 EPS 평균 값을 사용했습니다. , Year TickerEPS 평균 값을 나타내는 파이 그래프 입니다. 파이 전체 크기는 속성의 크기 탭에서 파이 크기 기준으로 설정할 수 있습니다. 격자 표시 탭에서는 파이 그래프에서 격자를 나눠 여러 개의 파이를 하나의 시각화 차트 내에 표시합니다. 크기와 격자 표시 변경으로 위 그림에서 Year 별로 파이 전체 크기 차이가 명확히 나는 것을 볼 수 있습니다.

한편, 처음 파이 그래프를 소개할 때 100% 스택 막대 그래프로 변환 가능하다고 말씀 드렸습니다. 위에서 그린 연도별 종목별 EPS 평균 값 그래프를 100% 스택 막대 그래프로 변환해 보겠습니다. 동일한 내용을 두 그래프가 어떻게 다르게 표현하는지 고민해 보시면 좋을 것 같습니다.

 


파이 그래프와 100% 스택 막대 그래프

 

파이 그래프의 격자를 Year로 설정하고 가로로 나열하여 막대 그래프의 x축과 동일한 느낌이 나도록 배치하였습니다. 또한 두 그래프 모두 비율을 표시하고 있기 때문에 Year별 비율 변화도 잘 나타납니다. 하지만 막대 그래프는 Year별 상대적인 크기가 비교되지 않는다는 단점이 보입니다. 또한 파이 그래프는 음수로 표현된 값을 음수로 표현할 수 없다는 단점이 보입니다. 이처럼 동일한 내용의 그래프를 그렸지만, 완벽히 동일할 수는 없고 그래프 종류별 장점과 단점이 있다는 것을 이해하시기 바랍니다.



6.6. 산점도

산점도(Scatter plot)는 두 변수 간의 관계를 보여주는 시각화 차트입니다. 대부분의 시각화 차트의 목적이 원인과 결과 또는 시간에 따른 변화를 보여주는 목적으로 차트를 그립니다. 산점도는 원인과 결과 그래프 그리고 시간에 따른 시계열 그래프를 그리기에 적합한 차트이기 때문에 가장 많이 그리고 보편적으로 사용합니다. 적절한 시각화 차트 종류가 생각나지 않는다면 일단 산점도로 표현해 보는 것도 좋습니다. 산점도는 빈번하게 사용되고 활용도가 높아서, 산점도를 통해 할 수 있는 것들을 상세한 예시와 함께 설명 드리겠습니다.

 


산점도의 모습

 

예시 데이터 테이블을 활용하여 x축에는 Ticker, y축에는 EPS 값을 사용한 그래프를 그렸습니다. 다른 종류의 시각화 차트와는 다르게 여러 데이터가 분포되어 있는 것이 차트에 표현됩니다. 이것은 yEPS에 집계 함수를 적용하지 않았기 때문입니다. 산점도는 집계 함수를 꼭 적용해야 하는 것은 아니며, 때문에 집계 값이 아닌 개별 로우에 대한 값을 모두 표시할 수 있습니다. 물론 y축에 EPS설정과 함께 집계 함수를 넣으면 다른 차트들과 유사하게 종목 당 하나의 점만 찍히게 됩니다.

 


l  6.6.1. 이상치 탐지

산점도는 활용도가 높은 그래프인 만큼 특정 분야에는 잘 활용 중인 형식들이 있습니다. 이상치(Anomaly detection), 회귀분석(Regression), 그리고 집계(Aggregation)는 자주 활용되는 분야인 만큼 그래프 그리는 방법과 그래프의 의미를 파악하고 있으면 좋습니다. 이상치는 일정 범위 이상 벗어나지 않는 추세를 이탈하는 점을 뜻합니다. 아래 그림은 시계열 그래프에서의 이상치와 원인-결과 그래프에서 이상치를 각각 표현한 그림입니다.

 


산점도의 각 그래프에서 이상치

 

시계열 그래프에서 이상치를 찾는다는 것은 시간에 따라 값이 변하지 않는다고 가정하고 변화한 점을 찾는 것입니다. 위 그림의 왼쪽 차트는 Year에 따른 EPS 변화를 나타낸 차트 입니다. Year가 흘러감에 따라 EPS 값이 유사한 것을 기대하지만 2016Y2019Y에서 각각 특정 범위를 벗어나는 이상치들이 발견됩니다. 원인과 결과 그래프에서 이상치를 찾는다는 것은 x(원인)y(결과) 간의 기울기에 변화가 있는 점을 찾는 것 입니다. 위 그림의 오른쪽 차트는 EPS에 따른 Net income을 나타낸 차트 입니다. 주로 EPS가 증가할 때 Net income 역시 증가하는 정비례 모습을 하지만 기울기를 벗어나는 이상치들이 발견됩니다이처럼 차트의 추세에서 이탈한 이상치들을 산점도를 통해서 탐지할 수 있습니다. 이상치 탐지는 실시간 모니터링 시스템을 만들 때 많이 사용합니다. 실시간 모니터링을 위해 관심있는 변수들로 시계열 산점도를 그리면 그래프에서의 이상치 발생 시 빠르게 알 수 있습니다.

 


l  6.6.2. 회귀 분석

회귀분석(Regression)은 원인과 결과 사이의 관계를 판단하는데 중요하게 사용됩니다. 회귀 분석 그래프를 그릴 때에는 산점도를 많이 사용하며, Spotfire에서는 차트 속성에서 라인 & 곡선 탭을 이용하여 회귀 분석을 적용할 수 있습니다. 회귀 계수 R2가 클수록 두 변수 사이의 상관성이 높으며, 회귀 식을 통해서 향후 예측을 수행 할 수도 있습니다. 1차식에 대한 선형 회귀 분석을 가장 많이 사용하지만, 경우에 따라서는 다중 곡선 맞춤(Fitting curve)를 통해 고차 다항식으로 회귀 식을 만들어 사용할 수 있습니다.

위치: 차트 속성 - 라인 & 곡선 탭 - 추가 - 직선 맞춤

 


산점도에서의 회귀 분석

 

위 그림은 EPS에 대한 Net income의 관계를 살펴보기 위한 원인과 결과 그래프 입니다. 직선 맞춤을 통해 회귀 분석을 진행한 결과 그림의 오른쪽 차트와 같이 회귀 계수가 0.14인 좋지 않은 결과가 나왔습니다. 분석은 해석 나름이기 때문에 이 결과만 가지고 EPSNet income은 상관성이 없다고 할 수도 있지만 앞서 이상치 탐지 결과에서 이상치들이 많았던 것을 생각하면 다르게 해석할 수도 있습니다.

 

 

산점도에서 격자 표시 적용 후 회귀 분석

 

격자 표시로 종목을 넣어 각 TickerEPSNet income의 산점도를 그려 보았습니다. Ticker 별로는 EPSNet income이 기울기 차이는 있지만 E 종목을 제외하면 회귀 계수가 0.69 이상으로 높은 상관성을 보입니다. Ticker 전체로 볼 때는 상관성이 낮았지만, Ticker 별로 산출하면 상관성이 높게 보입니다. 이처럼 산점도에서는 다양한 분석 기법들을 적용하는 것이 용이하며, 분석 후에는 해석하는 것에 주의해야 합니다.

 


l  6.6.3. 집계

앞서 산점도는 집계(Aggregation)를 적용할 수도 있고 적용하지 않을 수도 있다고 했습니다. 집계 함수를 사용하지 않는 모습은 예시 데이터를 이용해 보여 드렸지만, 집계 함수 사용하는 방법도 알고 있어야 합니다. 집계 함수 사용은 속성의 표식 기준에서 설정할 수 있습니다.

위치: 차트 속성 - 표식 기준 탭

 


산점도에서의 집계 함수 사용

 

집계 함수를 적용한다는 것은 여러 개의 로우를 하나의 대표 값으로 표기한다는 것 입니다. 위 그림에서는 여러 개의 로우가 표현된 점을 하나의 대표 값인 EPS 평균 값 하나의 점으로 표시한다는 의미입니다. 표식 기준으로 (컬럼 이름 또는 Column names)으로 설정되어 있는지를 점검합니다. 이후 y축에 부여하지 않은 집계 함수를 넣으면 해당 집계 함수로 표시가 됩니다. 만약 표식 기준이 (컬럼 이름)이 아닌 섹터(Sector)로 되어 있었다면 Financials IT 로 나눠져 집계 되었을 것 입니다.

 


l  6.6.4. 다차원 표시

Spotfire의 시각화 차트를 설명할 때, x축과 y축 이외의 차원도 여러가지 방법으로 표시 할 수 있다고 말씀 드렸습니다. 다른 시각화 차트에서도 사용할 수 있지만, 산점도에서 특히 다양한 방법을 이용해 표시 할 수 있습니다. Spotfire에서 활용할 수 있는 거의 모든 방법이 산점도에서 가능합니다. 대표적으로 색, 크기, 격자, 모양, 그리고 회전이 있습니다.

 


동일한 그래프를 다차원으로 표현

 

위 그래프는 x축에 Ticker, y축에 EPS를 사용한 산점도를 바탕으로 각각의 기능들을 하나씩 구현한 차트들 입니다. 첫 번째는 기능들 없이 x축과 y축만을 사용한 차트이고, 두 번째 위쪽 중앙의 차트는 색을 적용한 모습입니다. 색에 EPS 컬럼을 넣어 y축 값과 색의 그라디언트가 동일한 양상을 보입니다. 세 번째 위쪽의 우측 차트는 점 크기를 적용한 모습입니다. 마찬가지로 크기에 EPS 값을 넣어 y축 값과 크기가 동일한 양상을 보입니다. 네 번째 아래쪽의 좌측 차트는 모양을 적용한 모습입니다. 모양에 EPS 컬럼을 넣어 양수 EPS에서는 (+) 모양을, 음수 EPS에서는 (-) 모양을 보여줍니다. 다섯 번째 아래쪽 중앙 차트는 모양과 회전을 사용한 차트 입니다. 모양은 네 번째와 동일하게 넣었고, 회전각은 EPS 값을 넣어 EPS가 클수록 시계 방향으로 회전한 모습이 보입니다. 마지막 아래쪽 우측의 차트는 격자 표시를 적용하였습니다. 격자 표시에 Year를 적용하여 각각 2015Y부터 2020Y까지 격자가 나눠진 모습을 볼 수 있습니다. 이처럼 추가로 표시하고 싶은 컬럼을 산점도의 여러 기능에 넣어 차트를 그릴 수 있습니다.

 

 

l  6.6.5. 버블 차트

산점도 그래프는 다양한 그래프로 변형이 가능합니다. 정확히 말하자면, 산점도의 각 요소들을 잘 변화시키면 버블 차트나 바둑판 차트, 좌표 평면 등과 같은 특수한 형식을 가지는 차트들로 만들 수 있습니다. 이러한 버블 차트나 바둑판 차트, 좌표 평면은 비교적 많이 활용되는 차트이기 때문에 만드는 방법을 구체적으로 알고 있으면 많은 도움이 될 것 입니다.

버블 차트는 여러 개의 파이를 표현한 차트 입니다. 파이 그래프를 다룰 때에도격자 표시를 통해 버블 차트와 유사하게 여러 개의 파이를 그린 적이 있습니다. 산점도에서는 점을 파이로 바꿔 그릴 수 있으며, 자유도가 높은 산점도를 이용하는 것이 더 편리합니다. 점을 파이로 바꾸는 기능만 익히면 이후에는 파이 그래프를 다루듯 색과 크기를 지정해 주면 됩니다. 아래 그림은 산점도로 버블 차트를 표현한 모습입니다.


 

버블 차트의 모습

 

산점도를 이용해 x축에는 Year, y축은 파이의 설정을 위해 비워 두었습니다. 점을 파이로 바꾸는 설정은 속성의 표식 기준에서 (컬럼 내용)으로 설정 후, 모양 탭에서 설정 할 수 있습니다.

위치: 차트 속성 - 표식 기준 탭 - (컬럼 내용) 설정 - 모양 탭 - 파일(표식 기준과 함께 사용하는 경우에만 해당)

 


버블 차트를 만들기 위한 설정

 

위 그림은 버블 차트를 그리기 위한 속성 순서입니다. 1부터 7까지 순서대로 진행하면 버블 차트를 그릴 수 있습니다. 이후 파이 그래프와 동일하게 색과 크기 그리고 파이 전체 크기를 각각 설정해주면 됩니다.

 


l  6.6.6. 바둑판 차트

다음으로 소개할 차트는 바둑판 차트 입니다. 바둑판 차트는 서로 다른 두 컬럼에 대해 각 경우의 수에 해당되는 값을 표기한 차트를 말합니다. 위의 버블 차트 못지 않게 많이 활용되며, 특히 2가지 차원에 대한 경우의 수를 표현할 때 많이 사용됩니다. 아래는 바둑판 차트의 예시와 이를 만들기 위한 설정입니다.

위치: 차트 속성 - 모양 탭 - 고정 모양 / 차트 속성 - 모양 탭 - 바둑판식으로 배열된 표식

 


바둑판 차트와 설정 방법

 

위 그림은 두 사람 간의 MBTI 궁합 차트 입니다. 데이터 테이블은 매우 단순합니다. 본인 컬럼과 상대방 컬럼, 그리고 둘 사이를 정수로 나타낸 궁합 컬럼으로 이루어져 있습니다. 바둑판 차트를 그리는 방법은 다음과 같습니다. x축에는 본인 컬럼, y축에는 상대방 컬럼을 둡니다. 이후에는 위 그림의 1부터 6까지의 순번을 따라 하면 만들 수 있습니다. 한 가지 참고사항은 차트 속성의 모양 탭에서 고정 모양을 사용할 수도, 바둑판식으로 배열된 표식을 사용할 수도 있습니다. 두 가지가 거의 동일한 결과를 나타냅니다. 모양을 설정한 후 궁합을 색으로 표현합니다. 숫자가 클수록 좋은 궁합을 나타냅니다. 나중에 다루는 히트맵 차트로도 지금과 같은 바둑판 차트를 그릴 수 있습니다. 히트맵을 다룰 때 한 번 더 설명 드리겠습니다.

 


l  6.6.7. 좌표 평면 그리기

마지막으로 좌표 평면을 그려 보겠습니다. 좌표 평면은 x축 좌표와 y축 좌표가 직각을 이루는 차트로, 평면에서의 위치를 나타냅니다. 컬럼 값이 각 축에서의 거리로 잘 정의되어 있다면 좌표 평면을 산점도로 그리는 것은 어렵지 않습니다.

 


좌표 평면의 모습

 

Coordinate_info를 데이터 테이블로 사용해 좌표 평면을 그려 보겠습니다. Coordinate_info의 컬럼은 x축과 y, 그리고 value 컬럼으로 이루어져 있습니다. x축에는 x 컬럼, y축에는 y 컬럼을 넣고 색에는 value 컬럼을 넣습니다. 이후 각 축에서 우클릭을 통해 눈금선(Guideline)을 표시해 줍니다. 눈금선까지 추가해주면 최종적으로 좌표 평면을 완성할 수 있습니다.

 


l  6.6.8. 차트 모습

산점도는 자유도가 큰 차트인 만큼 많은 장점이 있지만 단점들도 있습니다. Spotfire에서 이러한 단점들을 보완하는 기능들을 살펴 보겠습니다. 산점도의 단점 중에 하나는 2차원 평면으로 구성되어 점이 겹치거나, 점의 크기가 달라 다른 점에 가려서 제대로 나타나지 않는 경우가 발생합니다. 이를 위해 Spotfire에서는 값을 약간 오차를 주더라도 여러 개의 점이 있음을 표시해 주는 기능이 있습니다. 그것은 외관 탭의 투명도(Transparency)와 흐트러짐(Zittering) 설정입니다. 투명도는 산점도의 점들을 투명화 하여 뒤에도 점이 있음을 보여주는 기능입니다. 흐트러짐은 다소 값이 변경되더라도 점을 원래 값에서 조금 옮겨서 각 점들이 잘 보이게 해주는 기능입니다.

 


산점도의 외관 탭에서의 투명도와 흐트러짐 설정

 

위 그림을 보면 기본에서 값이 겹쳐 보였던 점들에 대해서 흐트러짐 설정 시, 여러 점이 있음을 파악 할 수 있습니다. 특히 흐트러짐을 크게 설정 할수록 여러 점이 겹치지 않아 점들이 많음을 알 수 있습니다. 흐트러짐은 실제 점들의 값을 변화시키는 것이 아닌, 시각화 차트에서만 값에 오차를 주어 실제 값은 변화 없이 유지됩니다. 흐트러짐을 과도하게 사용하면 실제의 모습을 왜곡시킨다는 단점이 있지만, 겹치는 점을 볼 수 있다는 점에서 유사한 값들이 많은 산점도에서는 흐트러짐을 적용할 수도 있습니다.


 

6.7. 3D 산점도

3D 산점도(3D scatter plot)는 앞서 소개된 산점도(이번 챕터에서는 3D 산점도와 구별하여 2D 산점도라고 하겠습니다.)에서 하나의 차원이 추가되어 3D로 표현하는 시각화 차트 입니다. 3D 산점도의 모습은 3차원 공간 좌표와 유사하게 생겼습니다. x, y, z축의 3개 축으로 표현되며, 산점도와 크게 차이는 없고 하나의 축이 추가된 차트입니다. 더 많은 정보를 표시할 수 있지만 2D 산점도보다는 이해하거나 보기에 어려움을 겪을 수 있습니다. 다만 x, y, z축에 좌표를 넣어 3차원 공간 좌표를 표현할 때에는 사람들이 이해하기 편한 경우도 있습니다. 3D 산점도와 2D 산점도는 속성과 기능들도 거의 비슷합니다.

 


3D 산점도의 모습

 

예시 데이터 테이블을 통해 그려본 3D 산점도 입니다. x축에는 Ticker, y축에는 EPS, z축에는 Sector를 표시하였습니다. 일반적인 데이터로 3D 산점도를 그리면 이해하기가 힘듭니다. 지금까지 많이 사용했던 Ticker_info 데이터 테이블이지만 3D 산점도가 금방 이해되지는 않습니다. 차트 모습을 살펴보는 것도 약간 아쉬운 부분들이 있습니다. 3D 산점도는 모습을 잘 살펴보기 위해 시각화 컨트롤을 이용해 차트를 확대, 축소, 회전할 수 있습니다. 하지만 시각화 컨트롤의 회전이 성분이 2가지가 모자라서 온전히 원하는 모습을 보여줄 수 없습니다. 또한 차트 위, 아래, 왼쪽으로 축을 넣을 수 있는데, 이곳의 위치와 차트에 표현되는 축은 서로 일치하지 않습니다. 거울 상으로 그려져서 시각화 컨트롤을 조작해도 일치하지 않습니다.

 


l  6.7.1. 3D 산점도와 2D 산점도

앞서 그린 3D 산점도를 2D 산점도와 비교해 보겠습니다. 이를 통해 3D 산점도의 모습을 이해하는데 도움이 될 것입니다.

 


일반 3D 산점도와 2D 산점도의 비교

 

z축에 표시한 SectorFinancials, IT 2가지로 나뉘기 때문에 2D 산점도에서 Sector에 필터를 적용해 3D 산점도의 단면을 표시할 수 있습니다. 위 그림의 우측 상단에는 Financials 섹터의 2D 산점도 모습이고 우측 하단에는 IT 섹터의 2D 산점도 모습입니다. 이처럼 3D 산점도로 표시된 것을 여러 개의 2D 산점도로 표시하면 이해하기는 훨씬 쉬워집니다. 그래서 많은 경우 3D 산점도를 사용하기 보다는 2D 산점도와 같은 다른 시각화 차트에서 x축과 y축에서 2가지 차원을 표시하고, 나머지 1가지 차원은 격자 표시, 모양, , 크기, 그리고 회전 등 다른 요소들을 이용해 표현하는 것이 일반적입니다.

 


l  6.7.2. 3D 시각화

3D 산점도는 이해하기 어렵다는 이야기를 드렸지만, 표현할 데이터가 공간 좌표일 때는 3D 산점도를 사용하는 것이 효과적입니다. Coordinate_info 데이터 테이블을 사용하여 공간 좌표를 표현하는 3D 산점도를 살펴 보겠습니다.

 


3차원 형상을 가지는 3D 산점도

 

위 그림은 공간 좌표 데이터를 3D 산점도로 표현한 그림입니다. 사면체와 정육면체를 보여주는데, 각 도형은 공간 좌표 상의 점으로 구성되어 있습니다. 이처럼 공간 좌표를 구성할 때에는 각 점을 가득 차게 그려서 각 점의 좌표가 덜 헷갈리도록 해야 합니다. 이처럼 3D 산점도는 공간 좌표를 표시할 때에는 사용하기 괜찮은 차트 입니다.



6.8. 지도 차트

Spotfire에서는 일반적인 시각화 차트와 더불어 지도 차트(Map chart) 역시 만들 수 있습니다. 단순한 연습용 지도가 아닌 전 세계 또는 특정 지역을 제대로 구현한 지도를 제공하고 있습니다. 이를 활용하여 각종 비즈니스 자료나 과학 자료 등 특정 위치와 관련된 자료를 생성할 수 있습니다. 우리가 지도 차트를 활용하기 위해서는 배경 지식과 지도 표현 방법을 알 필요가 있습니다. 또한 Spotfire에서 지도는 제공하지만 이외의 위치 기반 데이터들을 구하기 어려울 수 있습니다. 따라서 Spotfire에서 제공하는 데이터를 예시로 사용하였고, 추가적인 데이터를 얻을 수 있는 링크들과 접근 방법을 알려 드리겠습니다.

 


지도 차트의 모습

 

지도 차트의 모습은 위 그림과 같습니다. 마치 지도 위에 불투명한 그림들을 여러 겹으로 겹쳐 놓은 것처럼 보입니다. 맞습니다, 지도 차트의 구성은 여러 계층(Layer)들이 층층이 쌓이고 가장 아래 층에 지도가 위치하는 멀티 레이어(Multi-layer) 구조를 가집니다. 각 레이어들은 사용자가 원하는 주제로 만든 그림들이며 가장 아래층인 지도 맵과 좌표 시스템으로 연결되어 위치를 가집니다.

 

 

l  6.8.1. 지도 차트에 활용되는 Spotfire 예시와 데이터

Spotfire에서도 예시용 데이터와 만들어 놓은 시각화 차트들을 제공합니다. 가장 쉽게 접근할 수 있는 데이터들은 아래 그림과 같이 Spotfire에 내장된 데이터 입니다. 그 중에서도 지금 지도 차트를 설명하는데 활용할 예시는 Sales and marketing 파일 입니다. 이 파일을 바탕으로 지도 차트를 설명 드리겠습니다.

위치: 파일 및 데이터 - 권장 - Sales and marketing

 

 

Spotfire에 내장된 데이터와 지도 차트

 


l  6.8.2. 지도 파일

지도 맵은 래스터(Raster) 또는 벡터(Vector)2가지 파일 형식을 가집니다. 래스터 형식은 점으로 이루어진 픽셀 단위의 이미지로, 보통의 이미지 형식인 jpg, png, tif 등의 파일을 뜻합니다. 확대하면 이미지가 흐려지고 깨지기 때문에 스케일이 고정되거나 제한된 지도에 사용됩니다. 반면, 벡터 형식은 방향과 크기를 가지는 선으로 구성된 이미지로, 확대해도 선명합니다. Spotfire에서 많이 사용하는 형식이며, 특히나 ESRI(Environmental Systems Research Institute) 회사에서 개발한 벡터 형식의 파일인 shp를 많이 사용합니다.

 


l  6.8.3. 좌표 시스템

지구는 구에 가까운 3차원 입체이지만 지도는 평면 상의 2차원 평면입니다. 때문에 차원 축소에 따른 왜곡이 필연적으로 발생하며, 이를 보완하기 위해 과거에서부터 다양한 도법들이 사용되어 왔습니다. 그 중에서 비교적 널리 사용되는 좌표계가 WGS84(World Geodetic System 1984) 좌표계입니다. 이것은 1984년에 제정된 범 지구적 측위 시스템으로 지도, 측량, 항법 등에 많이 사용되며, GPS 역시 이것을 기반으로 합니다. 물론 Spotfire 는 다양한 도법들을 지원하고 있으며 모두 사용 가능하지만, 여러 가지 지도와 계층들을 사용하다 보면 Spotfire는 물론 사용자도 이를 전부 맞추기가 힘들 수 있습니다. 때문에 Spotfire 내부적으로 WGS84 를 기준으로 데이터 값을 지구 좌표로 변환시키고, 이 좌표를 지도에 투영 시킵니다. 따라서 계층의 데이터를 지도 맵의 좌표로 변환시킬 때는 EPSG:4326 - WGS84 를 참조하고, 지도 맵의 좌표를 계층에 투영할 때는 EPSG:3857 - WGS84 로 설정하여 운영하는 것이 좋습니다.

 


l  6.8.4. 계층

Spotfire 의 지도 차트는 6가지 종류의 계층(Layer)을 사용하며, 6가지 전체 또는 일부만 사용하여 차트를 만들 수 있습니다. 포토샵의 레이어와 같이 각 계층은 특정 목적과 기능을 가지며, 이를 겹쳐서 하나의 맵에 여러 기능과 시각적 모습을 제공 할 수 있습니다. 6가지 계층에 대한 설명은 아래와 같습니다.

 

- 표식 계층(Maker layer)

데이터 테이블과 같이 데이터를 가지고 있는 계층을 뜻합니다. 데이터는 표식의 크기로 값을 표기하며, 위도와 경도 값이 포함되어야 지도 맵에 투영하여 지도 및 데이터를 표시할 수 있습니다. 표식 레이어는 단순한 산점도와 유사하게 위치에 따른 표식만을 표기해 주기 때문에 복잡한 의미를 내포하기 힘듭니다.

 


표식 계층의 모습과 사용된 데이터 테이블

 

위 그림은 지도 차트에서 표식 계층만 시각화한 그래프와 표식 계층에 사용된 데이터 테이블입니다. 위에서 소개한 Sales and marketing에 있는 데이터 테이블로, 데이터는 Spotfire 사용된 데이터는 도시와 주, 지역, rank 데이터와 함께 경도와 위도에 해당되는 x y를 가지고 있습니다. 이처럼 경도와 위도 데이터로 사용할 수 있는 숫자 형식의 컬럼이 2개 있어야 지도 차트에 활용 할 수 있습니다.

 

- 기능 계층(Feature layer)

사용자가 원하는 지역을 구획으로 나누고 싶을 때 사용하는 계층입니다. shp 파일을 사용해 구역별로 지도에 구획을 나눌 수 있습니다. 하지만 Spotfire에서 shp 파일을 따로 제공하지는 않기 때문에, 보통 유료로 구매를 하거나 공공 사이트에 무료로 허용된 shp 파일을 받아 사용합니다. 기능 계층의 모습은 다각형, , 점 등 3가지 기하도형 유형 중 하나를 제공합니다. 예를 들면, 미국의 각 주를 표시하는 여러 개의 다각형 모습이거나 한국의 기차와 고속도로망을 보여주는 선들로 제공될 수 있습니다.

 


기능 계층의 모습

 

위 그림은 지도 차트에서 기능 레이어만 시각화한 그래프 입니다. 미국의 주들을 표시한 shp 파일입니다. 특정 목적을 위해 시각적으로 그려놓은 파일 입니다.

 

- 지도 계층(Map layer)

지도 레이어가 우리가 흔히 생각하는 지도의 모습을 보여주는 계층입니다. 지도 역시 매우 정제된 데이터이며, 특정 기업에서 서비스하는 기능이기 때문에 무료인 지도를 찾는 것도 이를 접근하는 것도 힘든 일입니다. Spotfire에서는 기본적으로 OpenStreetMap 세계 지도 계층을 무상으로 제공하고 있지만 인터넷이 연결된 온라인 상태에서만 사용 가능합니다. Spotfire에서 제공하는 지도의 세부 내용이나 특정 지역에서의 상세한 내용은 확인이 어렵습니다. 이 때 TMS 레이어를 추가하여 원하는 정보를 상세하게 표시할 수 있습니다. 지도 레이어는 기본적으로 좌표값이 지정되어 있기 때문에 표식 레이어만 있다면 손쉽게 데이터를 표시할 수 있습니다. 아래는 지도 계층을 지도 차트에 표현한 그래프 입니다. 많이 사용하는 구글 지도나 네이버, 다음, 카카오 지도 등과 모습이 유사합니다.

 


지도 계층의 모습

 

- TMS 계층(TMS layer)

TMS(Tile Map Service)는 지도를 보여주는 방식에 대한 내용입니다. 지도를 여러 스케일의 타일로 제공하여, 확대나 축소 시에 적절한 크기의 타일을 제공함으로써 줌 레벨에 맞는 지도 정보를 제공할 수 있습니다. 지도에서 줌 레벨 조절 시 잠시 보이는 격자가 TMS의 타일입니다. 확대와 축소에 주요 영향을 주고 좌표는 유지되기 때문에 데이터에 대한 변형은 없습니다.

 


TMS 계층의 모습

 

위 그림은 TMS 계층을 표현한 모습 입니다. 지도를 확대와 축소 시에 보던 모습과 비슷하게 확대 할수록 자세한 정보가 표기 되는 것이 다릅니다. 상위 단계에서는 모든 정보를 표시할 필요없이 단순히 세계 지도와 대륙의 이름 정도 표기하였지만, 확대 할수록 상세한 주 이름과 경계, 더 확대하면 시의 이름과 경계, 그리고 시의 교통망이나 지역 이름 등의 정보들이 줌 레벨에 따라 다르게 표시 됩니다. 보통 온라인에서 제공하는 지도는 대부분 이러한 특징을 가지고 있습니다.

 

- WMS 계층(WMS layer)

WMS(Web Map Service)는 인터넷 상에서 지리 정보 시스템(GIS; Geographic Information System) 데이터를 지도에 투영하기 위한 프로토콜을 뜻합니다. WMS 계층은 인터넷 상의 많은 지리 정보 시스템에서 제공되는 데이터를 지도에 넣기 위한 층입니다. 인터넷으로 제공되는 특정 지역의 날씨 데이터나 도시 데이터 등과 같이 특정 목적으로 활용되는 정보들을 Spotfire 상에 구현할 때 사용합니다.

 


WMS 계층의 모습

 

 

위 그림은 미국 기상청에서 제공하는 미국 날씨 경보 데이터를 가지는 WMS 계층의 모습 입니다. 지도를 포함하고 있지 않아서 정확한 지역은 알 수 없지만, 뒤에서 지도를 포함한 레이어들을 모두 표시하면 그 위치와 모습을 자세히 볼 수 있습니다.

 

 

- 이미지 계층(image layer)

현재 다루고 있는 차트의 이름이 지도 차트이지만, 지도 이외에 다른 이미지(지하철 노선도, 레이아웃 등)들을 사용 할 수도 있습니다. 이미지 계층은 지도는 아니지만 위치를 표시하는 차트를 그리기 위해서 사용하는 경우가 많습니다. 이미지에 격자를 만들거나 원점과 수직한 2개의 축을 두어 x축과 y축을 만들 수도 있습니다. 이후에는 생성된 x, y 좌표와 표식 계층의 좌표를 매칭을 통해 데이터를 이미지 위에 표시할 수 있습니다.

 


이미지 계층의 모습

 

 

위 그림은 이미지 계층을 지도 차트에 표현한 그래프 입니다. 예시의 이미지는 미국 지역 내 존재한 체인점의 수를 비례적으로 표현한 이미지 입니다. 뒤에서 지도 계층과 겹쳐서 보여드릴 예정이지만, 굳이 지도 계층과 같이 사용할 필요는 없습니다. 오히려 지도 계층과 같이 사용하지 않는 경우가 많습니다. 위에서 예시를 든 지하철 노선도를 생각하시면 이해하기 좋을 것 같습니다.

종합적으로 모든 계층을 합하면 아래와 같이 지도 차트가 완성 됩니다. 지도 차트를 만들 때 모든 계층을 사용하지 않아도 되지만 여러 레이어를 사용하여 여러 정보를 제공할 수 있습니다. 각 시각화 의도에 맞게 계층을 선택하고 사용하면 됩니다.

 


여러 계층을 사용한 지도 차트의 모습

 


l  6.8.5. 지도 차트 컨트롤

Spotfire에서 지도 차트를 작성하면 지도, 계층과 더불어 여러가지 컨트롤들도 보입니다. 컨트롤 및 지도에 대한 설정은 차트 속성의 외관에서 가능하며, 컨트롤의 보이기 / 숨기기와 지도의 도법, 비율 등을 설정 할 수 있습니다.

위치: 차트 속성 - 외관 탭

 


지도 차트의 모습과 차트 속성의 외관 탭에서의 설정

 


l  6.8.6. 지도 차트 작성과 레이어 세팅

지도 차트는 위와 같이 세팅 된 레이어들을 겹쳐 보는 것 입니다. 결국 지도 차트를 작성한다는 것은 필요한 레이어들을 세팅한다는 것과 같습니다. 계층 탭에서 각 계층들을 추가, 편집, 삭제, 순서 등을 설정할 수 있습니다. 각각의 계층은 종류 별로 추가적인 속성 창이 더 뜨면서 세부 설정을 할 수 있습니다.

위치: 차트 속성 - 계층 탭

 


계층 탭에서의 설정과 표식 계층, 기능 계층의 세부 속성

 

표식 계층과 기능 계층의 세부 속성 창은 일반 차트 속성 창과 유사합니다. 데이터 테이블을 사용하기 때문에 데이터 테이블에 대한 속성과 데이터 테이블 내의 위도 경도 데이터와 지도 맵의 좌표를 맞추는 작업이 필요합니다.

 


계층 탭에서의 설정과 이미지 계층, WMS 계층의 세부 속성

 

 

이미지 계층과 WMS 계층은 데이터 테이블이 없기 때문에 데이터에 대한 처리는 필요 없지만, 마찬가지로 이미지, WMS와 좌표를 맵핑 작업은 필요합니다. 이미지 계층은 직사각형 이미지 모서리와 좌표를 맵핑하고 WMS 데이터는 외부 URL을 붙여주면 됩니다.

 


계층 탭에서의 설정과 지도 맵 계층, TMS계층의 세부 속성

 

 

지도 맵 계층은 지도 모습을 보여주는 곳이며 세부적인 맵 종류, 밝기, 국경 표시 등 설정 후 가져올 수 있습니다. 지도 맵에 TMS 기능은 자동으로 있지만 다른 TMS 계층 적용을 위해서는 URL을 통해 연결 가능합니다.

댓글 쓰기

0 댓글