[spotfire] 6. 차트 종류별 그래프 그리기 ① - 막대 그래프, 폭포수 그래프, 선 그래프, 복합 그래프




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

Spotfire에서는 18 종류의 차트를 제공하고 있습니다. 앞서 차트 그리는 순서를 배웠지만, 어떤 종류의 차트가 자신의 데이터와 잘 어울리는지 선택하는 문제가 남아 있습니다. 각 차트 종류 별 장점과 단점, 차트가 표시할 수 있는 모습 등을 알고 있으면 향후 자신의 데이터에 적용할 때 큰 도움이 될 것입니다. 지금부터 각 차트 종류 별로 특징과 만들 수 있는 차트들의 모습들을 살펴 보겠습니다.

 


6.1. 막대 그래프

막대 그래프(Bar chart)는 데이터 분석에서 많이 활용되는 그래프입니다. 주로 x축에는 대상을 두고 y축에 값을 두어 x축 대상 별로 y축 값의 크기 차이를 보여주는 차트로 많이 사용합니다. 특히 도수분포표(Frequency distribution table)와 같이 단순히 하나의 차원에 따라 다른 차원의 값, 개수, 빈도 등을 표현하는 히스토그램(histogram)이 대표적인 막대 그래프의 예시라고 할 수 있습니다. 3.4의 예시 데이터 테이블을 이용해 막대 그래프의 기본 형태를 그리면 아래와 같습니다.

 


막대 그래프의 모습

 

막대 그래프에서 사용한 컬럼은 x축에 Ticker, y축에 EPS 평균 값을 넣었습니다. 기본적으로 세로 막대를 사용한 그래프가 그려지고, x Ticker에 따른 yEPS 값의 차이가 명확하게 보여집니다.

 


l  6.1.1. 가로 막대 그래프

막대 그래프의 형태는 단순히 기본적인 세로 막대 외에도 가로 막대를 쌓을 수도 있습니다. 가로 막대의 사용은 아래의 위치에서 간단하게 변경할 수 있습니다. 변경된 가로 막대 그래프를 살펴보면, x축과 y축의 내용 역시 바뀌어져 있습니다. , 두 막대 그래프는 내용은 완전히 동일하지만 표현 방식만 세로 막대, 가로 막대로 표현 되었습니다.

위치: 차트 속성 - 외관 탭 - 수평 막대 / 차트 우클릭 - 수평 막대

 


가로 막대 그래프 그리기

 


l  6.1.2. 여러 개의 막대 표시

막대 그래프의 y축에 하나의 컬럼만 사용해야 하는 것은 아닙니다. 여러 컬럼을 사용하면 여러 개의 막대로 그래프가 그려집니다. 하지만 여러 개의 막대를 세우는 방법은 여러가지가 있을 수 있습니다. 가령 y축에 표현할 컬럼들이 독립적인 것이라면 나란히 표기를 해야 되고, 컬럼들이 서로 연관되며 합계를 보여줘야 할 때는 쌓는 모습을 보여줘야 되며, 성분 등의 비율을 나타낼 때에는 고정된 100%에서 비율만 차이 나는 모습을 보여주면 됩니다. Spotfire에서는 여러 막대에 대한 표시 형식 역시 지원하고 있습니다.

위치: 차트 속성 - 외관 탭 - 수평 막대 / 차트 우클릭 - 수평 막대

 

 

여러 막대를 표시하는 방법

 

예시에서는 기존의 xTicker에 대한 yEPS 평균 값과 더불어 EPS 총합 값을 추가적으로 표시 하였습니다. EPS 평균 값과 EPS 총합 값은 합계를 내거나 비율을 비교할 대상이 아니기 때문에 바 나란히 표시(side-by-side bar)가 적절합니다. 하지만 여러 컬럼의 합을 표시할 때는 스택 막대(stacked bar), 비율 등을 표시할 때는 100% 스택 막대(100% stacked bar)를 사용하는 것이 좋습니다.

 


l  6.1.3. 복수 척도 사용

y축을 하나가 아닌 여러 개를 사용하는 경우, 막대를 표시하는 방법 이외에도 다른 문제가 발생할 수 있습니다. 그것은 척도(Scale)에 대한 것입니다. 단위가 서로 다른 컬럼들을 하나의 y축으로 표시하면 사실 상 단위가 큰 컬럼만이 차트에서 보입니다. y축으로 EPS 값에 추가적으로 Net income(당기순이익)을 표시하면, EPS 101 수준이고 당기순이익은 108 수준이기 때문에 같이 y축 표시기 EPS는 거의 보이지 않습니다.

 


동일한 y축에 EPS(101수준)와 당기순이익(108수준) 표시

 

이 문제를 해결하기 위해서는 Net income 데이터의 단위를 EPS 수준으로 정규화(Normalization)를 할 수도 있지만, 데이터 수정없이 차트에 표기하기 위해서는 척도를 다르게 가져가며 됩니다. , 하나의 y축에 표시하는 것이 아닌, 여러 개의 y축에 표시할 수도 있습니다. 척도 설정은 아래의 경로에서 실행할 수 있습니다.

위치: 차트 속성 - 값 축 탭 - 척도 변경

 


이중 척도와 다중 척도 적용

 

이중 척도를 사용하면 왼쪽에 표기되던 하나의 y축이 아니라 오른쪽에도 하나의 y축이 더 생깁니다. 최종적으로 2개의 축을 사용하여 표시할 수 있습니다. 현재 각 EPSNet income 컬럼이 하나씩 축을 사용하여 척도 문제는 발생하지 않습니다. 다중 척도의 경우 현재는 EPSNet income 2개의 컬럼을 사용하기 때문에 이중 척도와 동일하게 보이지만, 컬럼의 개수만큼 y축이 더 생깁니다. y축은 이중 척도처럼 왼쪽이나 오른쪽에 두 군데 중 한 곳에 생기며, 색으로 y축을 구별할 수 있습니다. 이외에도 속성에서는 다양한 기능들이 있어 수많은 모습으로 바꿀 수 있습니다. 외관 탭에서 추가적으로 막대의 정렬 순서나 마킹 데이터의 표현, 그리고 x축이 시간 형식에서 사용할 보간법 등 다양한 옵션들을 적용할 수 있습니다.

 

 

l  6.1.4. 항아리 차트 그리기

항아리 차트는 연령에 따른 남자와 여자의 인구수를 보여줄 때 자주 사용되는 차트 입니다. 혹은 이 차트를 인구 피라미드라고도 부릅니다. Spotfire에서는 막대 그래프를 약간 변형하면 항아리 차트를 만들 수 있습니다. 예시 데이터 테이블을 활용해 항아리 차트를 그려 보겠습니다.

 


인구 항아리 차트(인구 피라미드)와 예시 데이터 테이블로 그려볼 항아리 차트

 

예시 데이터 테이블을 이용해 아래와 같이 그려볼 예정입니다.

 

0. 차트 목적: 연도별 sector에 따른 Net income 차트 그리기

1. 차트 종류 선택: 막대 그래프

2. 데이터 테이블 선택: Ticker_info

3. x, y축 선택: x(Net income), y(Year)

4. , 격자 및 속성 설정: (Sector)

5. 차트 모습 변경: 가로 막대, 스택 막대

 

앞서 배운 차트 그리기와 차트 모습 변경을 통해 막대 그래프를 그리고, 컬럼들을 집어넣고, 가로 막대와 스택 막대를 적용하는 것은 완성할 수 있습니다. 이제 색에 대해 이중 척도나 다중 척도를 적용한 후, 한쪽 축에 대해 척도 반전을 통해 최종적인 항아리 차트를 완성할 수 있을 것 같습니다. 하지만 문제가 있습니다. 스택 막대에 대해 이중 척도나 다중 척도가 적용할 수 없다는 점 입니다. 따라서 바 나란히 표시(side-by-side bar) 또는 다른 방법을 강구해야 합니다. 사용한 방법은 한쪽을 음수로 만드는 것입니다. Sector Financial에 대해 Net income 값을 모두 음수로 바꾸고, 음수 서식을 변경하면 중심에 대해 대칭인 항아리 차트 모습을 만들 수 있습니다.

 


중심에 대해 대칭인 항아리 차트 모습을 만들기 위한 설정

 

먼저 만들어진 차트에서 x축에 좌클릭을 통해 x축 값을 변경합니다. 사용자 지정 표현식을 아래와 같이 입력 합니다.

 

 

이 표현식의 의미는 Financial sectorNet income을 음수로 만든다는 것입니다. 그리고 음수 서식 변경에서는 음수를 괄호로 표기합니다.


 

6.2. 폭포수 그래프

폭포수 그래프(Waterfall chart)는 막대 그래프와 유사하게 막대를 나열한 그래프이지만, 각 요소들을 쌓아가며 누적되는 막대 모습들과 마지막에 총합 막대가 나오는 특징을 가지고 있습니다. 폭포수 그래프는 누적 개념이 포함되어 있기 때문에 x축을 시간으로 두고 시간에 따른 y 누적 값의 변화를 보는 것에 많이 사용됩니다. 하지만 누적 확률 분포처럼 x축에 시간 이외의 다른 차원들도 많이 사용 됩니다. 폭포수 그래프는 하나의 총합을 보여주고 그 결과가 나오게 된 요소들의 상대적인 크기를 보여주기 때문에 전체를 구성하는 요소들을 잘 보여주기 좋은 시각화 차트 입니다. 예시 데이터 테이블을 연도에 따른 EPS 누적 값의 변화를 폭포수 그래프로 표현하면 아래와 같습니다.

 


폭포수 그래프의 모습

 

x축에 누적의 개념이 잘 드러나도록 연도를 배치하고, y축에는 EPS 평균 값을 두어 오른쪽으로 갈수록 시간이 최근 연도의 값이 표현될 수 있도록 하였습니다. 즉 연도에 흐름에 따른 EPS 평균 값의 변화를 누적해서 보여주는 그래프 입니다. X축 마지막에는 총합이 다른 색으로 표현되어 최종 결과를 알아보기 편리합니다.

 


l  6.2.1. 폭포수 가로 막대

폭포수 그래프에서는 막대 그래프와 같이 기본은 세로 막대이지만, 가로 막대로 표현 가능합니다. 막대 그래프와 마찬가지로 속성의 외관 탭 또는 시각화 차트에서 우클릭에서 변경 가능합니다. 세로 막대의 경우 왼쪽에서 오른쪽으로 누적되면서 오른쪽 끝에 총합이 표시 되었다면, 가로 막대의 경우 위쪽에서 아래쪽으로 누적되면서 가장 아래쪽에 총합이 표시 됩니다.

위치: 차트 속성 - 외관 탭 - 수평 막대 / 차트 우클릭 - 수평 막대

 

 

폭포수 막대의 종류 설정

 


l  6.2.2. 총합의 누적 단위

폭포수 그래프는 총합으로 표현되는 누적 단위가 중요합니다. 차트가 하나의 컬럼만을 나타낸다면 누적 단위를 생각하지 않아도 되지만, 여러 개의 컬럼을 사용한다면 어느 단위로 누적을 해서 총합을 표현해야 할지를 고민해야 합니다. 모든 범주 및 색 축 값 위를 사용하면 모든 컬럼을 누적하여 하나의 총합을 표시 합니다. 범주별 색에 따라 를 사용하면 색을 지정할 때 사용한 컬럼 별로 누적하여 총합을 표시합니다. 마지막으로 범주 축의 값에 따라 를 사용하면 x축으로 사용한 컬럼 별로 누적하여 총합을 표시합니다.

위치: 차트 속성 - 외관 탭 - 단일 폭포 표시

 

 

폭포수 그래프의 종류 설정

 

누적 단위를 고를 수 있지만 보통의 경우 폭포수 그래프는 x축 컬럼 값들을 서로 참고해야 하는 누적 그래프이기 때문에 여러 컬럼을 사용하면 복잡해 보입니다. 특히 단일 폭포 표시를 어떤 것을 사용하던 각각을 구별하고 해석하는 것은 그래프를 어렵게 만들기 때문에 추천하지 않습니다. 범주별 색에 따라 를 사용하여 색으로 구별하거나 하나의 폭포수 그래프가 그려진 여러 개의 차트를 사용하는 것을 추천합니다. 속성의 외관 탭에서는 위에서 다룬 막대 방향이나 누적 단위 이외에도 막대 두께나 정렬 등의 설정, 전체 막대에 대한 설정 등도 가능합니다.

 


l  6.2.3. 양수, 음수 색 넣기

폭포수 그래프에서 색을 사용하는 것은 위에서 언급한 경우처럼, 여러 개의 컬럼을 표시할 때 사용합니다. 또는 하나의 폭포수 그래프 내에서도 양수와 음수를 구별하는 색을 넣어주면 그 변화를 보여줄 수 있어 매우 효과적입니다. 설정은 속성의 색 탭에서 설정할 수 있습니다. 양수와 음수 구별은 색 모드의 세그먼트를 사용하면 간단히 표시할 수 있습니다. 또는 색 모드로 그라디언트를 주어 값의 크기에 따라 색 변화를 주는 것도 좋은 방법입니다.

위치: 차트 속성 - 색 탭 - 컬러 모드 - 세그먼트 또는 그라디언트

 


폭포수 그래프의 종류 설정


 

6.3. 선 그래프

선 그래프는 x축에 대한 y축의 변화 모습을 나타낼 때 효과적인 시각화 차트입니다. 특히 선의 연결은 대개 연속한 가로 줄 위주로 그려지기 때문에 x축에 순서가 있는 실수 값(Real value), 즉 시계열 그래프에 많이 적용됩니다. 막대 그래프와의 차이점은 막대 그래프는 x축의 값들이 불연속적이고 서로 다름을 구별해야 되는 범주형 데이터에 사용하는 반면, 선 그래프는 x축 사이 간격이 작거나 연속적인 값에 대해 사용하여 좀 더 연속적이고 순서가 있는 느낌을 줄 수 있습니다.

 


선 그래프의 모습

 

위 그림은 예시 데이터 테이블을 사용하여 그린 기본 선 그래프 입니다. x축에는 연도를 사용하여 연속적인 시간 개념을 주었고, y축에는 EPS 값을 넣었습니다. 이 그래프는 연도 변화에 따른 EPS 변화를 잘 보여줍니다.

 


l  6.3.1. 그래프에서 데이터 선택

선 그래프에서는 기본 데이터가 점이고, 이 점을 이은 직선들을 보여주는 그래프입니다. 따라서 선 그래프의 데이터 기본은 선이 아니라 점이라는 것을 알고 있어야 합니다. 데이터 선택 시, 데이터의 양 끝점이 시각적으로 표현되며 선은 점 사이의 선만이 부수적으로 선택됩니다. 선택 방법은 다양하지만 기본 점이 선택되고 선은 점 사이의 선이 선택됩니다.

 

 

선 그래프에서 데이터 선택하는 방법에 따른 모습

 

- 드래그: 드래그 영역 내의 점이 선택되며, 시각적으로는 드래그 영역 내의 양 끝점과 사이의 직선들이 선택됩니다.
-
선 클릭: 선 내의 모든 점이 선택되며, 시각적으로는 선의 양 끝점과 선 전체가 선택됩니다.
- ctrl +
클릭: 기존 선택한 점에서 ctrl + 클릭 시 점들이 추가적으로 포함됩니다. 시각적으로는 기존 선택한 점과 연속한 점들을 선택하면 양 끝점과 사이의 직선들이 선택됩니다.
- alt +
클릭: 드래그의 사각 영역이 아닌 alt + 클릭 후의 마우스가 지나간 영역이 선택 범위가 됩니다.

 


l  6.3.2. 빈 칸 나누기

데이터를 다루다 보면 값이 없는 경우가 종종 발생합니다. 그 원인은 정말 값이 없는 데이터이거나 데이터 처리 과정에서 누락되는 등의 이유로 발생하지만 특히나 선 그래프에서는 값이 없는 경우를 더 조심해야 합니다. 일반적인 선 그래프의 경우 점을 표시 하지 않기 때문에 값이 없어도 있는 것처럼 보일 수 있기 때문입니다. 예시 데이터 테이블에서 일부의 EPS 값을 삭제하고 그래프를 그려보겠습니다.

 


계산된 컬럼 추가를 통해 EPS2 컬럼 생성

 

나중에 데이터 처리에서 배우겠지만, 컬럼을 새로 만들고 싶을 때에는 계산된 컬럼 추가(Add Calculated Columns) 기능을 사용합니다. 윈도우 창에서 데이터 테이블을 선택하고 표현식에 아래와 같이 넣어 줍니다.

  

if([year] = '2018Y', Null, [EPS])


의미는 2018Y로 표기된 Year 컬럼의 EPS 값은 비워두고(Null) 나머지는 EPS 값을 넣으라는 식 입니다. 이후 EPS2라고 이름 짓고 확인을 누르면 EPS2 컬럼이 생성되고, 그래프의 y축에 EPS2를 넣어주면 아래 그림으로 나타납니다.

위치: 차트 속성 - 외관 탭 - 비어 있는 값에 대한 구분선

 


선 그래프에서 비어 있는 값의 표현

 

그림은 연도에 대한 EPS2 컬럼 값을 나타낸 선 그래프입니다. 2018Y EPS2 값이 없는 데이터 의미 그대로 해석하면 그림에서 위의 그래프가 맞는 그림입니다. 하지만 아래처럼 2018Y 값은 무시된 채 데이터를 이어 그릴 수도 있습니다. 이는 속성의 외관에서 설정할 수 있습니다. 비어 있는 값에 대한 구분선 이라는 항목을 체크하면 빈 채로 나오고, 체크를 하지 않으면 빈 값을 무시하고 나옵니다. 이런 기능을 활용하면 일부러 빈 값을 넣어서 하나의 선 그래프에 두 개의 선 그래프가 보이도록 분리할 수도 있습니다.

 


l  6.3.3. 계단 함수 형태 만들기

계단 함수(Step function)은 특정 순간까지 동일한 값이 지속되는 함수를 나타내는 말입니다. 특정 시점 전까지 동일한 값을 가지다가 특정 시점에서 값이 이동하는 특징을 표현하기 좋습니다. 선 그래프는 두 점 사이를 잇는 선만을 표시해 주기 때문에 데이터를 조밀하게 가지고 있어야 합니다. 하지만 Spotfire에서는 일반적인 데이터를 가지고도 계단 함수 형태를 구현할 수 있습니다. 아래의 예제를 살펴보겠습니다.

 


계단 함수 예시를 위한 선 그래프

 

위 그림은 예시 데이터를 6개 각 종목의 Listing date(상장일) 과 평균 EPS를 나타낸 그래프 입니다. Listing date는 날짜 형식을 가지며 불규칙한 간격을 가지고 있습니다. 또한 데이터가 조밀하지 않아 일반적인 선 그래프와 같이 점과 점 사이를 이은 선만이 보입니다. 차트 속성의 외관 탭에서 계단 함수 형태를 적용할 수 있으며, 그 모습은 아래와 같습니다.

위치: 차트 속성 - 외관 탭 - 계단식 꺾은 선형으로 그리기

 

 

계단식 꺾은 선형으로 선 그래프 그리기

 

계단식 꺾은 선형으로 그리기를 선택하면 점과 점 사이를 잇는 직선이 아닌 계단 함수를 적용한 것과 같이 일정한 값이 유지되다가 다른 점이 나타나면 해당 값으로 이동한 계단 형태의 그래프가 생성됩니다. 추가적으로 표식을 표시하면 점의 위치도 구체적으로 볼 수 있습니다.


 

l  6.3.4. 여러 개의 선과 색 넣기

선 그래프에는 일반적으로 여러 개의 선을 표시할 수 있습니다. 즉 여러 개의 컬럼을 여러 개의 색으로 하나의 선 그래프에 나타내는 것이 일반적입니다. 여러 개의 선과 색을 표시하는 방법은 데이터의 모습에 따라 조금 다르게 적용해야 합니다. 경우에 따라 아래 그림과 같이 차트에서 y축과 범례의 색에서 선택이 가능합니다.

 


선 그래프에 여러 개의 선 그리는 방법

 

 

위 그림은 여러가지 선과 색을 넣는 2가지 경우를 설명해주고 있습니다. 첫 번째로 여러 개로 표시할 선이 여러 개의 컬럼에 있는 경우 입니다. 이 경우에는 y축에 여러 개의 컬럼을 넣고 색에는 (컬럼 이름 또는 Column names)을 넣으면 됩니다. 여기 말하는 (컬럼 이름)은 컬럼 표시가 실제로 (컬럼 이름)으로 나타납니다. 두 번째로 여러 개로 표시할 선이 하나의 컬럼에 있는 경우 입니다. 위 그림의 경우 Sector 컬럼 내에 FinancialsIT라는 두 개의 값이 있고, 두 값으로 색을 나누고 싶은 경우 입니다. 이럴 때에는 y축에는 y축 값을 넣고 색에는 Sector 컬럼을 넣으면 됩니다. 다른 모든 그래프에서 위 논리는 동일하게 적용됩니다


 

6.4. 복합 그래프

복합 그래프(Combination chart)는 막대 그래프와 선 그래프를 동시에 사용하고 싶을 때 사용하는 차트 입니다. 시각화 차트를 그리다 보면 표현해야 하는 컬럼은 여러가지인데 계속해서 동일한 막대 또는, 선으로만 표시하기에는 차트의 가독성이 떨어질 때가 있습니다. 이럴 때는 크기가 중요한 컬럼들은 막대, 흐름 또는 변화가 중요한 컬럼들은 선으로 표시하면 둘 간의 구분이 확실히 되면서 서로 간의 관계는 잘 보일 수 있습니다. 복합 그래프에서 설정 내용은 막대 그래프와 선 그래프를 합쳐 놓은 것과 유사합니다.

 


복합 그래프의 모습

 

예시 데이터 테이블로 x축에는 Ticker, y축에는 EPS 평균 값을 넣었습니다. 막대나 선이나 동일하게 EPS 평균 값을 넣어서 같은 값을 가지고 있습니다. 동일한 값을 넣었지만, 막대와 선이 구별되어 보이는 것처럼 복합 그래프는 2가지 종류의 정보를 제공하기 좋습니다.

 


l  6.4.1. 막대, 선 설정

복합 그래프는 막대 그래프와 선 그래프의 기능들을 대부분 가지고 있습니다. 막대 그래프에서 여러 개의 막대를 표시할 때 사용한 바 나란히 표시, 스택 막대 등을 사용할 수도 있고, 선 그래프에서 사용했었던 계단식 꺾은 선형으로 그리기나 표식 표시와 같은 기능들도 사용할 수 있습니다. 그 밖에도 막대의 굵기, 투명도, 보정 등을 기능도 설정할 수 있습니다.

위치: 차트 속성 - 외관 탭 - 바 또는 라인

 


복합 그래프의 막대, 선 설정



l  6.4.2. 대시보드 활용

복합 차트의 경우 막대 그래프와 선 그래프를 둘 다 활용할 수 있기 때문에 여러 항목에 대한 표시와 여러 목적과 기능을 수행하기 좋습니다. 따라서 활용처가 높고 특히나 대시보드(Dashboard)를 구성할 때 많이 사용되는 차트입니다. 대시보드란 관심있는 상태를 한눈에 볼 수 있게 일정한 양식으로 꾸민 페이지 입니다. 자동차 계기판도 자동차의 실시간 속도와 엔진 PRM, 각종 알림과 경보 창을 띄워주는 자동차 주행 대시보드입니다. Spotfire는 대시보드를 구현할 수 있는 프로그램이며, 그 중에서도 복합 그래프가 많이 활용됩니다.

 


복합 그래프를 이용한 대시보드

 

위 그림은 예시 데이터 테이블을 활용하여 x축에는 Year, y축에는 target(EPS 평균 값)limit line(EPS 최대 값)을 표시하였습니다. 또한 격자에 Ticker를 넣어 각 격자 별로 종목이 표시되면서 그래프 내에서는 연도에 따른 target(EPS)의 변화를 보기 좋습니다. 이처럼 양식을 만들어 두고 연도 데이터를 업데이트 하거나 또는 종목 데이터를 업데이트 하면 대시보드로 활용할 수 있습니다.

댓글 쓰기

0 댓글