ソーシャルネットワークの成長をアニメーション化する方法


11

新しいノード/エッジが追加されたときにソーシャルネットワークがどのように変化するかを視覚化するライブラリ/ツールを探しています。

既存のソリューションの1つは、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つの閉合を表します。

さらに、すべてのノードには2つの属性(年齢と性別)があるため、ノードの形状/色を変更できるようにしたいと思います。

また、新しいノードを追加した後、グラフのレイアウトを調整するためのForceAtlas2または同様のアルゴリズムを用意するのが最適です。

回答:


11

ファンシーアニメーションはクールです

私が見たとき、私はとても感動しました。このアニメ談話 gitリポジトリを。彼らはGit専用のGourseを使用しました。しかし、それは成長のダイナミクスを表現する方法についてのアイデアを与えるかもしれません。

あなたはmatplotlibでアニメーションを作成することができます

このstackoverflowの回答は、python / networkx / matplotlibソリューションを指しているようです。

しかし、D3.jsは相互作用を提供します

Webベースのソリューションを探している場合は、d3.jsが最適です。参照してください。これこれこれを例えば。このstackoverflow質問も参照してください。受け入れられた回答は再びD3.jsを指しています。

結論

ネットワーク分析用のpython / networkxオプションに惹かれます(たとえば、生データファイルに属性を追加するためなど)。そして、視覚化と普及のためにはD3.jsが最適です。いったんd3.jsにアクセスすると、簡単に作成できることに驚くかもしれません。私はそれがipythonノートブック内でも動作すると信じています!


おかげで、私はこのPython / networkx / matplotlibソリューションを気に入っています。これが私のデフォルトの作業環境であり、このコードから簡単にgifを作成できるからです。それでも、Webで見栄えが良いものは、このソリューションに勝るものです:)
Wojciech Walczak

5

私の最初の推測は、Tableauでソーシャルネットワーク視覚化することです。

特に:Tableauでのネットワークグラフの作成

必要なのは、「ページ」セクションに時間ディメンションを追加して、ネットワーク変更ダイナミクスを表示できるようにすることです。

上のリンクの画面です。 ここに画像の説明を入力してください


1
こんにちは、このヒントに感謝しますが、私は動的な形でWebで簡単に公開できるものを好みます。また、私は無料のソリューションを好んでいますが、Tableau(間違っている場合は修正してください)は試用版としてのみ利用できます。
Wojciech Walczak

また、「パブリック」エディションもあります。つまり、結果をウェブに保存/共有する必要があり、ローカルに保存することはできません。
IharS 2014年

2
@WojciechWalczakたぶん、Tableauの代わりにgephiを使用できます。
Amir Ali Akbari 2014年

5

このタスクは、vis.jsを使用すると非常に簡単に実行できることがわかりました。これは私が見つけた最高のサンプルコードでした。

私がこれに基づいて構築したものの例はここにあります(この投稿の一番下までスクロールします)。このグラフは、Facebookの友達のサブネットワークの成長を表しています。緑の点は女性、青の点は男性です。色が濃いほど、ユーザーは古くなります。「Dodajwęzły」をクリックすると、ノードとエッジをグラフに追加できます。

とにかく、私はこの仕事を達成する他の方法にまだ興味があるので、今のところ、私は答えを受け入れません。

あなたの貢献をありがとう!


リンクが壊れています
user1870400
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.