Come viene creato questo grafico "Stati Uniti di Reddit"?


9

Di seguito è riportato un grafico da p. 202 di Christian Rudder's Dataclysm , sebbene sia stato realizzato da James Dowdell. Illustra le relazioni tra i 200 principali subreddit, che sono aree di interesse su reddit.com in cui gli utenti possono inviare link, commenti e voti. Questi sono simili ai tag su questo sito. Le dimensioni delle regioni subreddit rappresentano la loro popolarità. I subreddit sono raggruppati per commenti incrociati e la tinta più scura rappresenta la percentuale di persone che rimangono all'interno di quel subreddit e non pubblicano su altri.

È solo un partizionamento Voronoi standard, con qualche colorazione per l'insularità o è qualcosa di più coinvolto?

Come si potrebbe fare per realizzare uno di questi?

Stati Uniti di Reddit


3
Non lo so, ma la mia ipotesi è che si tratti di un cartogramma Voronoi: uno regola i centri dei punti (non mostrati) fino a quando ciascuna delle aree della regione Voronoi non è proporzionale a un valore predeterminato.
whuber

Risposte:


7

Innanzitutto, sono James Dowdell, quindi sono qualificato in modo univoco per rispondere (creato un account per rispondere, posso confermare l'identità se qualcuno è preoccupato).

La semplice risposta è davvero ciò che gli altri hanno ipotizzato: questo è un http://it.wikipedia.org/wiki/Voronoi_diagram . Abbiamo usato lo stesso concetto a pagina 194, dove nei siti di voronoi ci sono le coppie di latitudine e longitudine elencate da craigslist.org.

Sfortunatamente, questa stessa conoscenza non è in realtà molto utile. Con il grafico Craigslist, è chiaro quali valori utilizzare per i siti. Ma quale trucco magico ha usato Dataclysm per assegnare le coordinate x / y in questo grafico?

La risposta è molto più complessa di quanto la maggior parte della gente si aspetti, e non posso dire di raccomandare di ripetere ciò che abbiamo fatto. Scommetto che qualcun altro qui potrebbe raccomandare un approccio che ottiene più o meno lo stesso risultato ed è molto più semplice.

La verità è:

Christian e io siamo andati avanti e indietro per oltre 3 mesi creando grafici per questo capitolo, che non avremmo mai potuto lavorare. Ma i risultati di un approccio spesso si sono aggiunti al successivo.

  1. La cosa più critica sfortunatamente riguarda una tecnica e alcune risorse di immagine che non sono libero di esplorare o condividere in alcun modo significativo, perché possiamo ancora usarle in qualche modo. Quello che dirò è che abbiamo preso un http://en.wikipedia.org/wiki/Graph_theory#Graph complicato che abbiamo compilato con l'autorizzazione dai dati di Reddit, coinvolgendo userid e subreddits, e abbiamo giocato con questo grafico e vari derivati all'interno di http://gephi.github.io/(Sono particolarmente un fan di "OpenOrd" in questi giorni). In effetti abbiamo ottenuto una magnifica immagine - sarebbe stato il momento clou del libro se fosse stato pubblicato - ma mentre avrebbe funzionato bene su un sito Web non è stato stampato bene in un libro - non abbastanza spazio o risoluzione. All'inizio Christian stava pensando di impostarlo come una piega nel libro, ma non era conveniente per Crown.

  2. Tuttavia, a questo punto avevamo un'immagine che aveva coordinate x / y per i subreddit ed erano almeno relativamente relativamente correttamente posizionati nello spazio x / y. Avevamo anche fretta perché la scadenza per la pubblicazione si stava avvicinando. Sono un programmatore per primo e un secondo per i dati, quindi per soddisfare i limiti estremamente stretti della pagina nel libro e il tempo rimasto, il mio istinto era di scrivere un programma in Box2D che simulasse i confini della pagina come pareti, inseriva una versione estremamente ridotta del grafico e simulava la crescita di quei nodi (non naturale per Box2D tra l'altro, si aspetta corpi rigidi che non cambiano) fino a quando tutto è stato a filo tra le pareti e l'altro. I nodi sono cresciuti ad un tasso proporzionale alla dimensione del subreddit che rappresentavano, il che significava che anche le dimensioni finali sarebbero state proporzionali allo stesso modo.screenshot del programma box2d durante l'esecuzione

  3. Il risultato non è stato affatto piacevole, ma mi ha dato qualcosa di molto prezioso: i siti voronoi. Ho preso i centroidi dei risultanti poligoni box2d, li ho sottoposti a un processo standard, ed è quello che è stato usato per il grafico nel libro. Credo che le etichette di testo siano state applicate a mano in Photoshop.

Per inciso, la colorazione cellulare era correlata a una statistica che avevamo sviluppato per formare il grafico in (A)


1
Benvenuti nel sito. Questo è vicino a come avrei potuto provare a farlo. Utilizzare qualsiasi layout grafico per assegnare le coordinate xy ai nodi. (Potrebbe essere possibile in alcuni layout basati sulla forza rendere le celle approssimativamente delle dimensioni desiderate in base alla specificazione dei pesi e della massa dei bordi, ma dubito che saranno esatti.) Dopo aver creato le aree voronoi del layout grafico originale, allora vorrei utilizzare uno strumento cartogramma, come Scapetoad , per rendere le aree finali proporzionali alla statistica di interesse. Questo finisce per essere abbastanza simile al programma che suggerisci in box2d.
Andy W,

0

Sembra più un problema di nuvola di parole con un aspetto poligonale Voronoi. È necessario utilizzare la parola frequenza per decidere la posizione (alta frequenza significa centro). Finché viene determinata la posizione delle parole, disegnare il poligono Voronoi non dovrebbe essere un grosso problema.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.