소셜 네트워크의 성장을 애니메이션으로 만드는 방법은 무엇입니까?


12

새로운 노드 / 에지가 추가 될 때 소셜 네트워크가 어떻게 변하는 지 시각화 할 라이브러리 / 도구를 찾고 있습니다.

기존 솔루션 중 하나는 SoNIA : Social Network Image Animator 입니다. 그것은 당신이 좋아하는 영화를 만들어 보자 이 하나 .

SoNIA의 문서에 따르면 현재는 고장 났으며 그 외에도 JavaScript 기반 솔루션을 선호합니다. 그래서 내 질문은 : 당신은 도구에 익숙 하거나이 작업을 가능한 한 쉽게 할 수있는 라이브러리를 가리킬 수 있습니까?

이 질문을 게시 한 직후 sigma.js를 파고들 것이므로이 라이브러리를 다루는 것을 고려하십시오.

일반적으로 입력 데이터는 다음과 같습니다.

time_elapsed; node1; node2
1; A; B
2; A; C
3; B; C

따라서 여기에는 3 개의 시점 (1, 2, 3), 3 개의 노드 (A, B, C) 및 3 개의 에지가 있으며, 이는 3 개의 고려 된 노드 사이의 3가 폐쇄를 나타냅니다.

또한 모든 노드에는 두 가지 속성 (연령 및 성별)이 있으므로 노드의 모양 / 색상을 변경할 수 있기를 원합니다.

또한 새 노드를 추가 한 후 그래프 레이아웃을 조정하기 위해 ForceAtlas2 또는 유사한 알고리즘을 사용하는 것이 좋습니다.

답변:


12

멋진 애니메이션이 멋지다

나는 담화 저장소 저장소 의이 애니메이션 을 보았을 때 매우 감동했습니다 . 그들은 git을 위해 특별히 Gourse 를 사용 했습니다 . 그러나 성장의 역학을 표현하는 방법에 대한 아이디어를 줄 수 있습니다.

matplotlib로 애니메이션을 만들 수 있습니다

이 stackoverflow 답변 은 python / networkx / matplotlib 솔루션을 가리키는 것으로 보입니다.

그러나 D3.js는 상호 작용을 제공합니다

웹 기반 솔루션을 찾고 있다면 d3.js가 우수합니다. 예를 들어 this , thisthis 를 참조하십시오 . 이 stackoverflow question을 참조하십시오 . 허용 된 답변은 다시 D3.js를 가리 킵니다.

결론

네트워크 분석을 위해 python / networkx 옵션에 관심을 가질 것입니다 (예를 들어 원시 데이터 파일에 속성을 추가 할 수 있음). 그런 다음 시각화 및 보급을 위해 D3.js가 완벽합니다. d3.js에 들어가면 얼마나 쉬운 지 놀랄 것입니다. 심지어 ipython 노트북에서도 작동 한다고 생각 합니다!


고마워, 나는이 기본 작업 환경이기 때문에이 Python / networkx / matplotlib 솔루션을 좋아 하며이 코드에서 GIF를 쉽게 만들 수 있습니다. 그러나 외모는 웹에서 더 좋은 어떤 것을이 솔루션 :) 이길 것
요이치 Walczak

6

첫 번째 추측은 Tableau에서 소셜 네트워크시각화하는 것 입니다.

특히 Tableau에서 네트워크 그래프 작성 .

네트워크 변경 역학을 볼 수 있도록 "페이지"섹션에 시간 차원을 추가해야합니다.

위 링크의 화면입니다. 여기에 이미지 설명을 입력하십시오


1
안녕하세요,이 팁에 감사하지만 웹에서 동적으로 쉽게 공개 할 수있는 것을 선호합니다. 또한 무료 솔루션을 선호하지만 Tableau (잘못된 경우 수정)는 평가판으로 만 제공됩니다.
Wojciech Walczak 12

또한 "공개"버전도 있습니다. 즉, 결과를 웹에 저장 / 공유해야하며 로컬에 저장할 수 없습니다.
IharS

2
@WojciechWalczak Tableau 대신 gephi를 사용할 수 있습니다.
Amir Ali Akbari

6

이 작업은 vis.js를 사용하여 수행하기가 매우 쉽다는 것이 밝혀 졌습니다 . 이것은 내가 찾은 최고의 예제 코드입니다.

내가 이것에 기초한 것의 예는 여기에 있습니다 (이 게시물의 맨 아래로 스크롤 하십시오 ). 이 그래프는 Facebook 친구의 하위 네트워크 성장을 나타냅니다. 녹색 점은 암컷이고 파란색 점은 수컷입니다. 색상이 어두울수록 사용자는 나이가 든다. "Dodaj węzły"를 클릭하면 그래프에 더 많은 노드와 모서리를 추가 할 수 있습니다.

어쨌든, 나는 여전히이 작업을 수행하는 다른 방법에 관심이 있으므로 지금은 어떤 대답도 받아들이지 않을 것입니다.

당신의 기여에 감사드립니다!


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