백만 개의 정점으로 그래프 시각화


17

1000000 개의 정점이있는 그래프를 시각화 (정점 및 모서리 그리기)하는 데 가장 적합한 도구는 무엇입니까? 그래프에는 약 50000 개의 가장자리가 있습니다. 개별 정점과 모서리의 위치를 ​​계산할 수 있습니다.

svg를 생성하는 프로그램을 작성하려고합니다. 다른 제안?


당신은 Graphviz를 시도 할 수 있습니다 ... 그것이 수백만 개의 정점까지 확장되는지 확실하지 않습니다 ....
Debasis

희망이 질문에 대한 답은 다음과 같은 그래프가 만들어진 방법에 만질 수 : medium.com/i-data/...
shadowtalker

@Cici 님, 일반적으로 권장 도구에 대한 질문은이 사이트와 다른 SE 사이트에서 많은 의견을 제시하므로 권장하지 않습니다.
Sean Owen

답변:


19

또한 매우 강력한 것으로 보이는 Gephi소프트웨어 ( https://gephi.github.io ) 도 제안 합니다 . 사용하는 방법에 대한 몇 가지 추가 정보 Gephi와 함께 대규모 네트워크를 찾을 수 있습니다 여기에 , 더 일반적으로, 그리고 여기 . Cytoscape( http://www.cytoscape.org )는 Gephi복잡한 네트워크 분석 및 시각화를위한 또 다른 인기있는 플랫폼 인 대안 입니다.

R, Python 또는 C / C ++에서 프로그래밍 방식 으로 네트워크 (가상화 포함) 로 작업 하려면 igraph라이브러리 모음을 확인할 수 있습니다 . R에 관해서는 다음과 같은 흥미로운 블로그 게시물을 찾을 수 있습니다. Cytoscape 와 함께 R사용 하고 ( http://www.vesnam.com/Rblog/viznets1 ) R을 Gephi와 함께 사용하는 경우 ( http://www.vesnam.com/ Rblog / viznets2 ).

대한 광범위한 목록네트워크 분석 및 시각화 소프트웨어 일부 비교 및 리뷰를 포함, 당신은 다음 페이지를 확인 할 수 있습니다 : 1) http://wiki.cytoscape.org/Network_analysis_links을 ; 2) http://www.kdnuggets.com/software/social-network-analysis.html ; 3) http://www.activatenetworks.net/social-network-analysis-sna-software-review .


8

https://gephi.github.io/ 는 백만 개의 가장자리를 처리 할 수 ​​있다고 말합니다. 그래프에 1000000 개의 꼭짓점이 있고 50000 개의 가장자리 만있는 경우 대부분의 꼭짓점에는 가장자리가 없습니다.

실제로 Gephi 사양은 다음과 같은 두 가지 예입니다. "최대 50,000 개의 노드와 1,000,000 개의 네트워크 네트워크"


8

Gephi메모리 부족 문제가 발생할 수 있으므로 최소 8Gb의 RAM이 필요 하다고 생각 합니다. 가장자리 수는 그리 크지 않지만.

이 경우에 더 적절한 도구는 다음과 같습니다 GraphViz. 네트워크 시각화를위한 명령 줄 도구이며 아마도 그래프 크기에 더 관대 할 것입니다. 또한 내가 기억하는 것처럼 GraphViz계산을 용이하게하기 위해 미리 계산 된 좌표를 사용할 수 있습니다.

GraphViz거대한 그래프와 함께 사용하는 실제 사례를 찾으려고 했지만 성공하지 못했습니다. 나는 전산 과학에 대해 비슷한 토론을 찾았지만 .


4

다시보고 : 나는 graphml을 코딩하고 시각화를 위해 yEd를 사용했다. 모든 노드의 위치를 ​​계산했기 때문에 메모리는 그리 큰 문제가되지 않았습니다. 가장자리의 위치를 ​​명시 적으로 지정할 필요가 없으므로 graphml 코딩은 svg 코딩과 비교하기가 약간 쉽습니다.


2

PajekXXL 은 거대한 네트워크를 처리하도록 설계되었습니다. 그러나 Pajek은 또한 직관적이지 않은 인터페이스를 가진 기괴한 프로그램입니다.


2

Graphexp를 사용하는 것이 좋습니다. Gephi는 컴퓨터의 RAM에 크게 의존하므로 분명히 제한되어 있습니다. 반면 Graphexp는 다른 노드로 이동할 수있는 제한된 수의 노드 만 표시합니다. Graphexp를 UI로 사용하고 Janusgraph를 HBase를 백엔드 스토리지로 사용하여 7 억 개의 정점으로 그래프를 시각화했습니다. https://github.com/bricaud/graphexp


정말? 나를 위해 100 개 이상의 정점을 표시하려고 할 때 질식하기 시작합니다.
BrDaHa

속도는 주로 백엔드 데이터베이스 및 컴퓨팅 용량에 따라 다릅니다. Graphexp는 UI 전용입니다.
Sandeep Kumar

나는 "초크"라는 것을 알고 있지만 화면에 나오는 노드에 애니메이션을 적용 할 때 화면 주사율이 1-2fps로 떨어질 것입니다. 이 사파리의 최신 버전에 있는지 그것은 노트에 도움이 될 수 있습니다
BrDaHa

0

Graphistry를 살펴보면 1Mil 노드와 모서리를 처리 할 수 ​​있습니다.


그래, Graphistry는 대형 그래프를위한 유일한 대화 형 시각적 도구로 GPU에서 엔드 투 엔드로 실행되기 때문입니다.
Leo Meyerovich
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.