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


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 , this 및 this 를 참조하십시오 . 이 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.