この「Redditの米国」グラフはどのように作成されますか?


9

以下はpからのグラフです。James Dowdellが作成したものですが、Christian RudderのDataclysmの 202 。これは、ユーザーがリンク、コメント、および投票を送信できるreddit.comの関心領域である、さまざまな上位200のサブレディット間の関係を示しています。これらは、このサイトのタグに似ています。subredditリージョンのサイズはその人気を表しています。サブレディットはクロスコメントによってグループ化され、濃い色合いはそのサブレディット内にとどまり、他のユーザーに投稿しない人の割合を表します。

これは標準的なボロノイ分割で、島の色を付けたものですか、それとももっと複雑なものですか?

これらのいずれかを作成するにはどうすればよいですか?

アメリカ合衆国Reddit


3
わかりませんが、私はそれがボロノイカートグラムであることを推測します。ボロノイ領域の各領域が所定の値に比例するまで、ポイントの中心(図示せず)を調整します。
whuber

回答:


7

まず、私はジェームズダウデルなので、答えるのはかなりユニークです(答えるためにアカウントを作成し、誰かが心配している場合は身元を確認できます)。

単純な答えは確かに他の人が推測したものです。これはhttp://en.wikipedia.org/wiki/Voronoi_diagramです。194ページで同じ概念を使用しました。ボロノイサイトには、craigslist.orgによってリストされた緯度と経度のペアがあります。

残念ながら、この知識自体は実際にはあまり役に立ちません。Craigslistグラフを使用すると、サイトに使用する値が明確になります。しかし、Dataclysmがこのグラフのx / y座標を割り当てるためにどのような手品を使用しましたか?

それに対する答えは、ほとんどの人が予想するよりもはるかに複雑であり、私がやったことをやり直すことをお勧めすることはできません。私はここにいる誰かが多かれ少なかれ同じ結果を得るアプローチを推奨することができ、はるかに簡単だと思います。

真実は:

クリスチャンと私は、この章のグ​​ラフを作成するために3か月以上行ったり来たりしました。しかし、あるアプローチの結果はしばしば次のアプローチに反映されます。

  1. 残念ながら、最も重要なことは、私がまだ何らかの方法でそれらをまだ使用している可能性があるため、私が自由に探求したり、意味のある方法で共有したりできないテクニックといくつかの画像アセットに関係しています。私が言うことは、ユーザーIDとサブレディットを含む、Redditのデータからの許可を得てコンパイルした複雑なhttp://en.wikipedia.org/wiki/Graph_theory#Graphを取って、このグラフとさまざまな派生物をいじったということですhttp://gephi.github.io/の中にあります(私は最近「OpenOrd」のファンです)。実際、素晴らしい画像が得られました。出版されていれば本のハイライトでしたが、ウェブサイトでは問題なく機能しましたが、本ではうまく印刷できず、部屋や解像度が不十分でした。クリスチャンは当初、これを本の折り込みとして設定することを検討していましたが、クラウンにとって費用対効果が高くなかっただけです。

  2. ただし、この時点で、subredditsのx / y座標を持つ画像があり、それらは少なくとも相対的にx / y空間に適切に配置されていました。また、公開期限が迫っていたため、急いでいました。私は最初はプログラマー、2番目はデータ担当者なので、本のページの非常にタイトな境界と時計の残り時間に対応するために、本能はページの境界を次のようにシミュレートするプログラムをBox2Dで書くことでした非常に縮小されたバージョンのグラフを内部に配置し、すべてが壁やお互いにぴったり合うまで、ノードをシミュレートして成長させます(ちなみに、Box2Dでは自然ではありません。剛体は変化しないことを期待しています)。ノードは、それらが表すサブレディットのサイズに比例する速度で成長しました。つまり、最終的なサイズも同じように比例します。実行中のbox2dプログラムのスクリーンショット

  3. その結果はまったく見栄えがよくありませんでしたが、ボロノイサイトという非常に貴重なものを与えてくれました。結果として得られたbox2dポリゴンの図心を取り、標準的なプロセスを経て、それが本のグラフに使用されたものです。私が信じているフォトショップでは、テキストラベルが手動で適用されました。

ちなみに、セルの色付けは、(A)でグラフを形成するために開発した統計と関連しています。


1
サイトへようこそ。これは私がやろうとした方法に近いものです。グラフレイアウトを使用して、ノードにxy座標を割り当てます。(一部のフォースベースのレイアウトでは、エッジの重みと質量に基づいてセルを希望のサイズに近づけることができる場合がありますが、正確ではないかもしれません。)元のグラフレイアウトのボロノイ領域を作成した後、Scapetoadなどのカートグラムツールを使用して、終了面積を対象の統計に比例させます。これは、box2dで提案するプログラムとかなり似ています。
Andy W

0

これは、ボロノイポリゴンの外観を持つワードクラウドの問題に似ています。場所を決定するには、頻度という単語を使用する必要があります(高周波は中心を意味します)。単語の場所が決まっている限り、ボロノイポリゴンの描画は大した問題ではありません。

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