본문 바로가기

시각화 도구 설명서

[pajek] 2. 엑셀 및 텍스트 파일을 이용해 간단한 네트워크 그리기

우선 pajek 유틸리티를 이용해 간단한 네트워크를 그려보겠습니다.

txt2pajek
txt2pajek은 엑셀의 데이터를 pajek의 데이터 파일로 변환해주는 프로그램입니다. 다음 주소에서 다운로드 받을 수 있습니다. (페이지 맨 밑에 Download..링크가 있습니다.)
http://vlado.fmf.uni-lj.si/pub/networks ··· ajek.htm

우선 다음과 같은 네트워크를 엑셀 데이터 형식으로 표현해봅시다.

사용자 삽입 이미지

간단한 네트워크


이 네트워크에서 노드는 각각 Adam,Bob,Carry입니다. 그리고 둘 사이에 친구관계가 링크가 됩니다.
그렇다면 이 네트워크를 엑셀에서 다음과 같이 표현할 수 있습니다.

사용자 삽입 이미지

엑셀 입력



여기서 엑셀의 한 줄은 링크를 뜻합니다. 첫줄은 Adam과 Bob 사이에 링크가 있다는 것을 뜻하죠.
이 렇게 네트워크를 표현하는 방법을 "링크 리스트Link List" 형식이라 부를 수 있습니다. 이외에도 네트워크를 표현하는 방법은 몇 가지 더 있지만, 당분간 이것만 기억해도 좋을 듯하네요. 엑셀에 데이터를 다 입력했으면, "텍스트 파일(탭으로 분리)" 형식으로 저장합니다.

(텍스트 파일 형식은 다음과 같습니다.

Adam Bob
Bob Carry
Carry Adam

직접 텍스트로 쓰셔도 좋지만, 네트워크 데이터가 많을 경우 엑셀로 작업하는 것이 편리합니다. )
 
그럼 위에서 다운받은 text2pajek을 실행해보겠습니다. 압축을 풀면 txt2pajek.exe 파일이 나옵니다. 이 파일을 실행하면 다음과 같은 화면을 볼 수 있습니다.
사용자 삽입 이미지

txt2pajek 실행화면



버 튼을 눌러 Input File엔 텍스트 파일을, Output File엔 변환할 pajek 데이터파일 이름을 써줍니다. Separator는 데이터 열을 분리하는 문자열을 뜻합니다. 현재 탭으로 분리했으므로 tab을 선택합니다. 1st column엔 데이터의 첫 열을, 2nd column엔 두번째 열을 지정해줍니다.

Line(s) from top to ignore는 텍스트 파일 상단에서 몇 줄을 제거할 것인가 지정해주는 란입니다. 만약 제목이 두 줄 있다면 그 줄을 제거하기 위해 2를 지정해야겠죠. 지금은 제거할 줄이 없으므로 0으로 둡니다. 그리고 1-mode network와 undirected를 체크합니다. (나머지는 곧 다시 설명하겠습니다.) 그리고 Create Pajek File 버튼을 누릅니다.
사용자 삽입 이미지
사용자 삽입 이미지
변환 완료 화면

그러면 위와 같은 화면이 뜨면서, 데이터 파일이 만들어졌음을 알 수 있습니다.

이제 pajek을 실행하여 이 파일을 로드합니다.
사용자 삽입 이미지
로드 화면

로딩이 되었으면 상단메뉴의 Draw-Draw를 눌러줍니다.

사용자 삽입 이미지
네트워크 그리기 완성

그러면 위와 같은 화면이 뜹니다. 네트워크 그리기 성공입니다.

네트워크 데이터 파일을 변환하기전, directed를 체크하면 방향이 있는 네트워크를 그릴 수 있습니다. 결과는 다음과 같죠.
사용자 삽입 이미지
방향이 있는 그래프
화살표가 보이시나요?
만약 데이터파일에서
Adam Bob    

Bob Adam
으로 바꾸면 Adam->Bob 화살표 대신 Bob->Adam 가 그려집니다.
Adam Bob
Bob Adam
이라 쓰면 양방향 화살표가 그려집니다.

위 창에서 노드를 마우스로 끌어 옮길 수도 있습니다. 테스트해보세요.

이제 어떻게 하면 네트워크를 그릴 수 있는지 감을 잡았으므로, 다음부터 그 외 다양한 기능에 대해선 좀 더 속도를 내서 간단히 설명하도록 하겠습니다.