본문 바로가기
Data Analysis/Network Analysis

[Cytoscape] 2. Cytoscape 그래프 스타일링

by lucky__lucy 2023. 1. 10.

 

이 글은 이전 글에 이어서 기본적인 그래프를 생성한 뒤, 원하는 대로 스타일링 하는 법에 대해 다룬다.

 


 

레이아웃 선택하기


위의 Layout 메뉴에서 다양한 layout을 선택할 수 있으며, 자동으로 node들을 배치해 준다.


나는 graphml 파일 속성에 Cluster ID를 넣어뒀기 때문에, Cluster대로 배치를 하고자 했다. Layout > Group Attributes Layout에 들어가면 본인의 파일 안에 있는 모든 속성들이 나타난다. 나는 cluster ID를 선택하여 레이아웃을 배치시켰다.


노드 색깔 입히기

이제 cluster ID 별로 색깔을 입혀보도록 하자. 왼쪽 탭에 있는 Style을 클릭하고, Fill Color를 확장시킨 뒤에 색깔을 입히고 싶은 Column 기준과 Type을 선택한다. 나는 cluster ID 별로 색깔을 직접 지정하고 싶어서 Discrete Mapping으로 선택했다. Edit Color를 클릭하여 각 항목 별로 색깔을 직접 지정할 수 있다. 

 


팔레트에 있는 색상을 직접 선택해도 되고, RGB 등의 값을 입력하여 지정할 수도 있다.


노드 모양 선택하기

각 cluster의 색상을 지정해 준 뒤, Shape의 모양 부분을 클릭하여 동그라미 모양인 Ellipse로 선택했다.

 


그래프 부분을 마우스 휠로 확대해보면 원이 찌그러진 모습을 확인할 수 있다. 그래서 이제 node Frequency 크기를 기준으로 node의 크기들을 조정해 주려고 한다.

 


 

노드 크기 조정하기

노드 크기를 조정하기 위해서는 Height와 Width 두 가지 옵션 조정이 필요하다. 나는 node frequency에 따라 연속적으로 크기를 조정할 것이라 Continous Mapping으로 선택했다. 원하는 카테고리별로 크기를 선택하고 싶다면 Discrete Mapping로 선택하면 된다.

 


node 모양을 타원이 아닌 동그란 모양으로 만들고 싶다면 Height 값과 Width 값을 똑같이 지정해야 한다. 먼저 Height 값을 지정해보도록 하자. Height > Current Mapping 부분에 있는 그래프를 더블클릭하여 창을 연다. 아래에 있는 Set Min and Max를 클릭하여 내가 가진 데이터의 최솟값과 최댓값을 입력한다.

 


 x축 상에 있는 색깔이 칠해진 네모칸은 데이터 전체의 최솟값과 최댓값을 조정하는 부분이므로 건들지 않도록 주의해야 한다. y축 상에 있는 색이 비어있는 상자가 노드 크기를 조정하는 상자이다. y축 상에 비어있는 상자를 더블클릭하여 노드 크기의 최솟값과 최댓값을 지정한다. 똑같은 과정을 Width에서도 수행하여 노드를 동그랗게 만들어준다.


 

Edge 굵기 설정하기

노드 스타일링을 마쳤다면 Edge 스타일링으로 넘어가 보자. 맨 아래에 있는 Edge를 클릭하고, Width 부분을 조정하면 된다. Edge width 조정도 바로 위의 노드 크기 조정과 같은 방법으로​ 할 수 있다. 동시 출현 빈도가 높은 node를 이은 edge를 굵게 표현했다.

 



​Edge 투명도 조절하기

Edge에 투명도가 없으니 그래프가 조금 지저분해 보인다는 생각이 들었다. 그래서 동시 출현 빈도가 높은 node를 이은 edge는 진하게, 반대는 연하게 표현하고자 했다. Transparency에서 Continuous Mapping을 선택하여 연속적인 값으로 투명도를 조절했다. 대부분의 옵션 조정이 비슷한 방법으로 진행된다.



​그래프 노드 위치 변경하기 및 저장하기

오른쪽 위에 있는 Fit Content 아이콘을 클릭하면 전체 그래프를 한눈에 볼 수 있게 조정된다. 자동으로 지정되는 layout 결과는 노드 사이의 간격이 넓은 편이기 때문에, 노드 개수가 너무 많다면 노드 간의 간격을 직접 조정해야 한다. 여기서부터는 노가다 과정이다. 노드를 하나씩 drag and drop 하여 전체 그래프를 예쁘게 꾸며보도록 하자..

 


 

노드 폰트 변경하기

Node > Properties > Label Font Face 활성화를 한다. A 글자가 있는 부분을 클릭하면 폰트를 변경할 수 있다.

 


 

결과


노드가 너무 많으면 전체 모습을 확인했을 때 노드가 제대로 뜨지 않는 경우가 있다. 그래도 png나 pdf 파일로 export 하면 제대로 나오니 걱정하지 않아도 된다. File > Export > Network to File/Image.. 등의 방법으로 저장하면 된다.

728x90
반응형