Як створюється цей графік "Сполучені Штати Реддіта"?


9

Нижче наведено графік із с. 202 з Dataclysm Крістіана Руддера , хоча його зробив Джеймс Дауделл. Він ілюструє взаємозв'язки між різними топ-200 підкредитами, які є цікавими на reddit.com, де користувачі можуть надсилати посилання, коментарі та голоси. Вони схожі на теги на цьому сайті. Розміри областей субредагування представляють їхню популярність. Підредакти згруповані за допомогою перехресного коментування, а темніший відтінок представляє відсоток людей, які залишаються в межах цього підредагу та не публікують інших.

Це просто стандартна перегородка Вороного, яка має забарвлення для ізоляції, чи це щось більше?

Як можна зробити щось із цього?

Сполучені Штати Реддіта


3
Я не знаю, але я здогадуюсь, що це картограма Вороного - хтось коригує точки точок (не показано), поки кожна з областей Вороного не буде пропорційною заданому значенню.
whuber

Відповіді:


7

По-перше, я - Джеймс Дауделл, тому я досить однозначно кваліфікований для відповіді (створив обліковий запис, щоб відповісти, можу підтвердити особу, якщо хтось хвилюється).

Проста відповідь - це справді те, що інші здогадалися: це http://en.wikipedia.org/wiki/Voronoi_diagram . Ми використовували ту саму концепцію на сторінці 194, де на сайтах voronoi є пари широти довготи, перелічені craigslist.org.

На жаль, саме це знання насправді не дуже корисне. З графіком Craigslist зрозуміло, які значення використовувати для сайтів. Але який магічний трюк використав Dataclysm, щоб призначити x / y координати в цьому графіку?

Відповідь на це набагато більше, ніж очікували більшість людей, і я не можу сказати, що рекомендую повторити те, що ми зробили. Надіюсь, що хтось інший тут може порекомендувати підхід, який отримує більш-менш однаковий результат і набагато простіший.

Правда в тому, що:

Ми з Крістіаном ходили вперед і назад протягом 3-х місяців, створюючи графіки для цієї глави, що ми ніколи не могли працювати. Але результати одного підходу часто передаються наступному.

  1. На жаль, найважливіше, що стосується техніки та деяких зображень, я не в змозі досліджувати чи ділитися будь-яким значущим способом, тому що ми все ще можемо їх якось використовувати. Що я скажу, це те, що ми взяли складний http://en.wikipedia.org/wiki/Graph_theory#Graph, який ми зібрали з дозволу даних Reddit, включаючи користувачів і subreddits, і ми пограли з цим графіком та різними похідними його всередині http://gephi.github.io/(Я особливо прихильник "OpenOrd" в наші дні). Насправді ми отримали чудовий образ - це було б родзинкою книги, якби вона була опублікована - але, хоч вона і нормально працювала б на веб-сайті, вона не надрукувала себе в книзі - не вистачало місця чи резолюції. Крістіан спочатку розглядав можливість встановити його як складку в книзі, але це просто не було рентабельно для Корони.

  2. Однак у цей момент у нас було зображення, яке мала координати x / y для підпорядків, і вони були принаймні відносно розташовані належним чином у просторі x / y. Ми також поспішали, оскільки наближався термін публікації. Я перший програміст і хлопець з даними вдруге, тому для розміщення надзвичайно жорстких меж сторінки в книзі та часу, що залишився на годиннику, мій інстинкт полягав у написанні програми в Box2D, яка імітувала межі сторінки як стіни, помістив всередину надзвичайно стиснуту версію графіка і імітував зростаючі ці вузли (до речі, це не природно для Box2D, він очікує, що жорсткі тіла, які не змінюються), поки все не зіткнеться зі стінами та один з одним. Вузли зростали зі швидкістю, пропорційною розміру представленого ними підредагу, що означало, що кінцеві розміри також будуть пропорційними таким же чином.скріншот програми box2d під час роботи

  3. Результат цього зовсім не виглядав приємно, але він дав мені щось дуже цінне: сайти voronoi. Я взяв центроїди отриманих полігонів box2d, провів їх стандартним процесом, і ось що було використано для графіка в книзі. Текстові мітки були застосовані вручну в Photoshop, я вважаю.

До речі, забарвлення комірок пов’язане зі статистикою, яку ми розробили для формування графіка в (A)


1
Ласкаво просимо на сайт. Це близько до того, як я, можливо, намагався це зробити. Використовуйте будь-яку схему графіка, щоб призначити вузлам координати xy. (Можливо, за допомогою деяких макетів, заснованих на силі, можна зробити клітинки приблизно потрібного розміру, виходячи із вказівки ваги і маси ребер, але я сумніваюся, вони будуть точними.) Після створення областей voronoi для початкового макета графіка я б тоді використовуйте інструмент картограми, як Scapetoad , щоб зробити кінцеві області пропорційними статистиці, що цікавить. Це в кінцевому підсумку є досить схожим на програму, яку ви пропонуєте в box2d.
Andy W

0

Це більше схоже на проблему слово хмара із зовнішнім виглядом багатокутника Вороного. Для визначення місця розташування потрібно використовувати слово частота (центр високої частоти). Поки місце розташування слів визначається, малювання багатокутника Вороного не повинно бути великою справою.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.