매우 큰 링크 그래프 시각화


25

매우 큰 방향 링크 그래프를 시각화하는 도구를 찾고 있습니다. 나는 현재 ~ 1 천만 개의 가장자리를 가진 ~ 2 백만 개의 노드를 가지고 있습니다. 몇 가지 다른 것을 시도했지만 100k 노드 그래프조차도 대부분 시간이 걸립니다.

내가 시도한 것 :
gephi와 함께 하루를 보냈지 만 80K 노드를 추가하는 데 약 1 시간이 걸리고 응용 프로그램은 거의 쓸모가 없게됩니다.

어떤 제안?

대화 형 시각화는 장점이 될 것입니다.


이미 시도한 것을 말하면 도움이 될 것입니다. Graphviz에 주사를 맞았습니까?
Wolfgang Bangerth

1
Graphviz는 내가 먼저 시도하는 것입니다. 그것이 그 크기의 무언가와 함께 작동하는지 여부는 모르겠습니다. 분명히 인접 행렬에 대해 희소 표현을 사용하는 것이 필요하지만 소프트웨어 패키지는 그렇지 않을 것 같습니다.
David Ketcheson

필자는 좀 더 유망한 보이는, 지금 graphviz를 총을주고,하지만 난 그게 상호 작용을 가능하게 생각 해달라고
madmaze

2
그래프를 희소 행렬로 해석하고 MATLAB 또는 Octave의 '스파이'함수로 시각화하려고 했습니까? 1 천만 개의 비제로 엔트리는 적당히 강력한 데스크탑의 범위 내에 있습니다. 이것은 또한 스펙트럼 이등분을 설정합니다 (그래프의 파티션을 찾는 것이 더 쉽게 시각화 할 수 있습니다).
잭 폴슨

1
당신은 방문을 조사 했습니까?
pyCthon

답변:


13

Graphviz가 작동해야합니다. 플로리다 대학 스파 스 매트릭스 컬렉션 의 매트릭스와 관련된 이미지 는 Yifan Hu가 개발 한 강제 지시 그래프 시각화 알고리즘 인 sfdp를 사용하여 시각화 되었다고 생각합니다 . 컬렉션의 대부분의 행렬에는 해당 시각화 생성과 관련된 계산 시간이 있으므로 그래프에 시각화하려는 것과 유사한 특성을 가진 행렬을 검색 할 수 있습니다. 예를 들어, ~ 210 만 개의 노드와 ~ 3 백만 개의 모서리가있는 그래프는 Hu ~ 36000이 생성하는 데 10 시간. 그래프를 생성하는 데 어떤 하드웨어가 사용되었는지는 확실하지 않지만 데스크탑이나 랩톱이 사용 된 것으로 추측 될 수 있으며, 시간이 지나면 그래프를 렌더링하는 데 시간이 얼마나 걸릴지 대략적으로 알 수 있습니다. Hu의 알고리즘은 최첨단 시각화 알고리즘 (2005 년에 발표) 중 하나 인 것처럼 보이지만이 분야의 전문가는 아니지만 더 나은 알고리즘의 존재 여부에 대해서는 말할 수 없습니다. 이 알고리즘은 Graphviz에 옵션으로 포함되어 있으며 설명하는 것과 같은 큰 그래프에 사용되도록 설계되었습니다.


매우 깔끔합니다. Barnes-Hut을 사용하여 그래프 노드 사이의 힘을 시뮬레이션하는 것처럼 보이므로 병렬 FMM 구현으로 속도가 크게 향상 될 수 있다고 가정합니다. 반면 Hu의 방법은 MeTiS와 유사한 다중 레벨 구조를 갖는 것으로 보이며, 이는 병렬화가 어려운 경향이 있습니다.
잭 폴슨

예, 논문을 보았을 때 병렬 FMM 구현도 흥미로울 것이라고 생각했지만 병렬 알고리즘에 대한 경험이 많지 않아 실제로 얼마나 실용적이지 확신하지 못했습니다.
Geoff Oxberry

3
@JackPoulson- 기침
Aron Ahmadia

@GeoffOxberry – 위 링크 참조
Aron Ahmadia

1
@JackPoulson-강제 지향 레이아웃 알고리즘은 초기 시드에 매우 민감하다는 것을 알 수 있습니다. 다른 미학이 더 미학적 레이아웃을 위해 문제를 재구성하기 위해 수행 한 멋진 작업이있었습니다.
Aron Ahmadia


5

Graphinsight 1.2를 참조하십시오. 수백만 개의 노드를 쉽게 처리 할 수 ​​있으며 대화식 및 3D로 제공됩니다.

고효율 대 수법 또는 강제 지시 법을 사용하여 수백만 개의 노드와 모서리가있는 그래프를 레이아웃 할 수도 있습니다. 평가판으로 제공됩니다 ( 면책 조항 : 나는 프로그램의 저자 중 하나입니다 ).

www.graphinsight.com


1
@linelio-답변 해 주셔서 감사합니다. scicomp에 오신 것을 환영합니다! 마십시오 추진에 관한 규칙을 참조 하고 권고를 할 때 당신이 명확하게 개인 연결을 공개 있는지 확인하십시오.
Aron Ahmadia

5

시간이 지남에 따라 수집 된 권장 사항 및 링크는 다음과 같습니다.

  • 2M 노드의 경우 하드웨어를 모르는 데이터를 권장하는 것이 어렵고 일부 데이터 축소가 가능하지만 자유롭게 사용할 수있는 항목을 가져 오면 zGrViewer 가 시각화 요구에 맞을 수 있습니다 (GraphViz 필요).
  • @pyCthon의 아이디어에 따라 플로팅의 상호 작용에 대한 VisIt 도 살펴보십시오 .
  • 깔끔한 레이아웃 알고리즘 ( Fruchterman-Reingold 및 Kamada-Kawai ) 을 포함 igraph하는 R 통계 언어 패키지를 다시 방문하고 있습니다.
  • 큰 그래프 레이아웃 라이브러리가 이제 SourceForge에 있습니다.

0

우리는 대부분의 브라우저와 노트북에서이를 가능하게하기 위해 http://www.github.com/graphistry/pygraphistry 를 구축했습니다 . WebGL을 사용하여 큰 그래프 (pan / zoom / etc 등)를 렌더링하고 대부분의 실시간 계산 (레이아웃, 필터 등)을 GPU 클라우드로 오프로드합니다. Gephi 또는 Cytoscape와 비슷하지만 큰 그래프 및 데이터 분석에 중점을두고 웹과 노트북에 통합됩니다.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.