Bu “Reddit Birleşik Devletleri” grafiği nasıl oluşturulur?


9

Aşağıda s. James Dowdell tarafından yapılmış olsa da Christian Rudder'ın Dataclysm'in 202'si. Kullanıcıların bağlantılar, yorumlar ve oylar gönderebileceği reddit.com'da ilgi alanları olan çeşitli ilk 200 alt kredi arasındaki ilişkileri gösterir . Bunlar bu sitedeki etiketlere benzer. Alt düzenleme bölgelerinin büyüklüğü popülerliklerini temsil eder. Altdizimler çapraz yorumlama ile gruplandırılır ve daha koyu renk tonu, bu altdizilim içinde kalan ve başkalarına posta göndermeyen kişilerin yüzdesini temsil eder.

Bu sadece standart bir Voronoi bölümleme, insülerlik için biraz renklendirme ile mi, yoksa daha ilgili bir şey mi?

Bunlardan birini nasıl yapabiliriz?

Reddit Birlesik Devletleri


3
Bilmiyorum, ama tahminim bu bir Voronoi kartogramı - bir Voronoi bölgesi alanlarının her biri önceden belirlenmiş bir değerle orantılı olana kadar nokta merkezlerini (gösterilmiyor) ayarlar.
whuber

Yanıtlar:


7

İlk olarak, ben James Dowdell'im, bu yüzden cevaplamak için benzersiz bir şekilde kalifiye oldum (cevaplamak için bir hesap oluşturdum, herhangi biri endişeli ise kimliği doğrulayabilir).

Basit cevap aslında başkalarının tahmin ettiği şeydir: Bu bir http://en.wikipedia.org/wiki/Voronoi_diagram . 194. sayfada aynı konsepti kullandık, burada voronoi siteleri craigslist.org tarafından listelenen enlem boylam çiftleri var.

Ne yazık ki, bu bilginin kendisi aslında çok yararlı değil. Craigslist grafiğiyle, siteler için hangi değerlerin kullanılacağı açıktır. Ama Dataclysm bu grafikte x / y koordinatları atamak için hangi sihir numarasını kullandı?

Bunun cevabı çoğu insanın bekleyebileceğinden çok daha fazla ve yaptığımız şeyi tekrar yapmayı tavsiye ettiğimi söyleyemem. Bahse girerim, burada başka biri az çok aynı sonucu alan ve çok daha basit bir yaklaşım önerebilir.

Gerçek şu ki:

Christian ve ben 3 aydan fazla bir süre ileri gidip bu bölüm için grafik oluşturarak hiç iş yapamadık. Ancak, bir yaklaşımın sonuçları sıklıkla diğerine beslenir.

  1. Maalesef en kritik şey, bir tekniği ve herhangi bir anlamlı şekilde keşfetme veya paylaşma konusunda özgür olmadığım bazı görüntü varlıklarını içeriyor, çünkü yine de bunları bir şekilde kullanabiliriz. Söyleyeceğim, karmaşık bir http://en.wikipedia.org/wiki/Graph_theory#Graph , Reddit'in verilerinden izin alarak derlediğimiz, userids ve altreditleri içeren karmaşık bir http://en.wikipedia.org/ ve bu grafik ve çeşitli türevlerle oynadığımız http://gephi.github.io/ içinde(Özellikle bu günlerde "OpenOrd" hayranıyım). Aslında muhteşem bir görüntü aldık - yayınlanmış olsaydı kitabın en önemli noktası olurdu - ama bir web sitesinde iyi çalışmış olsa da, bir kitapta iyi basmadı - yeterli oda veya çözünürlük. Christian başlangıçta kitapta bir katlama yapmayı düşünüyordu, ancak Crown için uygun maliyetli değildi.

  2. Bununla birlikte, bu noktada altdizimler için x / y koordinatları olan bir görüntümüz vardı ve bunlar x / y boşluğunda en azından nispeten düzgün bir şekilde düzenlenmişti. Biz de acelemiz vardı çünkü yayınlanma tarihi yaklaşıyordu. Ben önce bir programcı ve ikinci veri adamıyım, bu yüzden kitaptaki sayfanın son derece sıkı sınırlarını ve saatte kalan süreyi karşılamak için içgüdüm Box2D'de sayfanın sınırlarını simüle eden bir program yazmaktı. duvarlar, grafiğin son derece küçültülmüş bir versiyonunu koydu ve bu düğümleri (Box2D için doğal değil, değişmeyen sert gövdelerin beklendiği gibi) her şey duvarlara ve birbirlerine karşı aynı hizada olana kadar büyütmeyi simüle etti. Düğümler, temsil ettikleri alt dizinin boyutuyla orantılı bir oranda büyüdü, bu da nihai boyutların da aynı şekilde orantılı olacağı anlamına geliyordu.box2d programının ekran görüntüsü

  3. Bunun sonucu hiç hoş görünmüyordu, ama bana çok değerli bir şey verdi: voronoi siteleri. Ortaya çıkan box2d çokgenlerinin sentroidlerini aldım, standart bir süreçten geçirdim ve kitaptaki grafik için kullanılan şey buydu. Metin etiketlerinin photoshop'ta elle uygulandığını düşünüyorum.

Bu arada, hücre rengi (A) 'da grafiği oluşturmak için geliştirdiğimiz bir istatistikle ilgiliydi.


1
Siteye hoş geldiniz. Bu nasıl yapmaya çalıştığım yakın. Düğümlere xy koordinatları atamak için herhangi bir grafik düzenini kullanın. (Bazı kuvvet temelli düzenlerde, kenar ağırlıklarını ve kütlesini belirlemeye dayalı olarak hücreleri yaklaşık olarak istediğiniz boyutta yapmak mümkün olabilir, ancak kesin olduklarından şüphe ediyorum.) Orijinal grafik düzeninin voronoi alanlarını oluşturduktan sonra, bitiş alanlarını ilgilenilen istatistikle orantılı hale getirmek için Scapetoad gibi bir kartogram aracı kullanın . Bu, box2d'de önerdiğiniz programa oldukça benziyor.
Andy W

0

Daha çok Voronoi çokgen görünümünde bir kelime bulutu problemine benziyor. Yere karar vermek için frekans kelimesini kullanmanız gerekir (yüksek frekans merkez anlamına gelir). Kelimelerin yeri belirlendiği sürece, Voronoi çokgenini çizmek çok önemli olmamalıdır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.