본문 바로가기

정보시각화 소식

[논문 소개] Force-Directed Edge Bundling for Graph Visualization

네트워크(Network) 그림은 복잡한 관계를 한눈에 알아볼 수 있게 해줍니다. 하지만 네트워크에 링크(link)가 많을 경우, 그림을 그려도 전체적인 모습을 쉽게 파악하기 어렵죠. 이런 한계를 극복하려고 여러가지 시각화 알고리즘이 개발되었는데요.

그 방법은 크게 서너가지 정도로 볼 수 있겠네요.

1. 노드의 위치를 바꿔서 표현하기
2. 필요없는 노드나 링크를 없애기
3. 3차원 공간을 이용하거나, 색깔, 애니메이션 등 보조적인 시각효과를 이용하기
4. 링크를 묶어서 표현하기

이 중에서 "4. 링크를 묶어서 표현하는 방법"에 대한 최신 논문을 소개하고자합니다.

백문이불여일견이니 한번 보시죠.

미국 비행기 노선도

미국 비행기 노선도


위 그림은 미국에서 비행장이 있는 도시를 점, 그리고 도시간 비행노선이 있을 경우 선으로 표시한 것입니다. 오른쪽 상단에 선이 많이 연결된 곳이 뉴욕이겠죠.

위 그림처럼 선이 많으면, 연결관계를 쉽게 파악하기가 어렵습니다. 그림을 자세히 봐야하죠.

링크 묶기 알고리즘으로 표현한 비행기 노선도

링크 묶기 알고리즘으로 표현한 비행기 노선도


반면 이 그림은 인접한 링크를 묶는 알고리즘을 적용해서 좀더 간략하게 도식화한 것입니다. 세부적인 정보는 사라졌을지 모르지만, 전체적인 '흐름'을 좀 더 쉽게 파악할 수 있죠.

이 알고리즘의 기본 원리는, 링크 사이에 스프링이 달려있어 링크끼리 서로 잡아당기는 원리와 비슷합니다. 더 자세한 내용은 논문을 참고하시면 될 것 같습니다. (좀 무책임한가요?;;;;)

위 그림은 아인트호벤 대학의 Danny Holtenvan Wijk 교수가 쓴 Force-Directed Edge Bundling for Graph Visualization 에서 발췌한 것입니다. EuroVis '09 에서 발표된 것 같네요.

@ 예전에 H. Zhou외 4명이 쓴 링크 묶기 알고리즘 논문을 보고 구현해보려 했는데, 너무 복잡해서 포기한적이 있었습니다. 이 논문에서 쓰인 알고리즘은 좀더 구현하기 나은 것 같으니, 한번 만들어봐야겠습니다. :)
요새 다른 일로 좀 바쁜지라, 쉽게 짬을 낼 수 있을지는 잘 모르겠지만요;;;;