Po pierwsze, jestem James Dowdell, więc jestem wyjątkowo kompetentny, aby odpowiedzieć (utworzyłem konto, aby odpowiedzieć, mogę potwierdzić tożsamość, jeśli ktoś się martwi).
Prosta odpowiedź jest rzeczywiście tym, co inni przypuszczali: jest to http://en.wikipedia.org/wiki/Voronoi_diagram . Zastosowaliśmy tę samą koncepcję na stronie 194, gdzie strony voronoi to pary długości i szerokości geograficznej wymienione przez craigslist.org.
Niestety, sama ta wiedza nie jest tak naprawdę bardzo przydatna. Dzięki wykresowi Craigslist wyraźnie widać, jakie wartości należy stosować dla witryn. Ale jakiej magicznej sztuczki użył Dataclysm do przypisania współrzędnych x / y na tym wykresie?
Odpowiedź na to pytanie jest o wiele bardziej zaangażowana niż większość ludzi by się spodziewała i nie mogę powiedzieć, że zalecam powtórzenie tego, co zrobiliśmy. Założę się, że ktoś tutaj mógłby polecić podejście, które osiąga mniej więcej ten sam wynik i jest znacznie prostsze.
Prawdą jest:
Christian i ja chodziliśmy tam iz powrotem przez ponad 3 miesiące, tworząc wykresy dla tego rozdziału, których nigdy nie moglibyśmy zrobić. Ale wyniki jednego podejścia często uwzględniały kolejne.
Najważniejszą rzeczą jest niestety technika i niektóre zasoby graficzne, których nie wolno mi odkrywać ani udostępniać w żaden znaczący sposób, ponieważ nadal możemy je jakoś wykorzystać. Powiem tylko, że wzięliśmy skomplikowany http://en.wikipedia.org/wiki/Graph_theory#Graph , który skompilowaliśmy za zgodą danych Reddit, dotyczących identyfikatorów użytkowników i subredditów, i bawiliśmy się tym grafem i różnymi pochodnymi tego wewnątrz http://gephi.github.io/(W dzisiejszych czasach jestem szczególnie fanem „OpenOrd”). W rzeczywistości otrzymaliśmy wspaniały obraz - byłby punktem kulminacyjnym książki, gdyby został opublikowany - ale chociaż działałby dobrze na stronie internetowej, nie drukowałby dobrze w książce - za mało miejsca lub rozdzielczości. Christian początkowo rozważał ustawienie go jako rozkładanego w książce, ale dla Crown nie było to opłacalne.
Jednak w tym momencie mieliśmy obraz, który miał współrzędne x / y dla podreddits i były one przynajmniej względnie odpowiednio rozmieszczone w przestrzeni x / y. Spieszyło nam się również, ponieważ zbliżał się termin publikacji. Najpierw jestem programistą, a po drugie facetem danych, więc aby dostosować się do bardzo ciasnych granic strony w książce i czasu pozostałego na zegarze, instynktownie napisałem program w Box2D, który symulował granice strony jako ściany, włóż do środka niezwykle skurczoną wersję wykresu i symuluj powiększanie tych węzłów (nawiasem mówiąc, nie jest to naturalne dla Box2D, oczekuje sztywnych ciał, które się nie zmieniają), dopóki wszystko nie zrówna się ze ścianami i ze sobą. Węzły rosły w tempie proporcjonalnym do wielkości reprezentowanego przez nich subreddita, co oznaczało, że ostateczne rozmiary będą również proporcjonalne w ten sam sposób.zrzut ekranu programu box2d podczas działania
Rezultat tego wcale nie wyglądał zbyt ładnie, ale dał mi coś bardzo cennego: strony voronoi. Wziąłem centroidy powstałych wielokątów box2d, poddałem je standardowemu procesowi i tego właśnie użyłem na wykresie w książce. Wierzę, że etykiety tekstowe były nakładane ręcznie w Photoshopie.
Nawiasem mówiąc, zabarwienie komórek było powiązane ze statystyką, którą opracowaliśmy, aby utworzyć wykres z powrotem w (A)