Làm thế nào là đồ thị Hoa Kỳ của Reddit này được tạo ra như thế nào?


9

Dưới đây là một biểu đồ từ p. 202 của Christian Rudder Dataclysm , mặc dù nó được tạo bởi James Dowdell. Nó minh họa các mối quan hệ song song với 200 subreddits khác nhau, đó là các lĩnh vực quan tâm trên reddit.com nơi người dùng có thể gửi liên kết, nhận xét và bình chọn. Đây là tương tự như các thẻ trên trang web này. Kích thước của các vùng subreddit thể hiện mức độ phổ biến của chúng. Các subreddits được nhóm bằng cách bình luận chéo, và tông màu tối hơn đại diện cho tỷ lệ phần trăm của những người ở lại trong subreddit đó và không đăng bài cho người khác.

Đây có phải chỉ là một phân vùng Voronoi tiêu chuẩn, với một số màu cho sự không rõ ràng, hoặc nó là một cái gì đó liên quan nhiều hơn?

Làm thế nào một người có thể đi về làm một trong những?

Hoa Kỳ Reddit


3
Tôi không biết, nhưng tôi đoán rằng đó là bản đồ Voronoi - điều chỉnh các trung tâm điểm (không hiển thị) cho đến khi mỗi khu vực vùng Voronoi tỷ lệ với giá trị định trước.
whuber

Câu trả lời:


7

Đầu tiên, tôi là James Dowdell, vì vậy tôi khá đủ điều kiện để trả lời (đã tạo một tài khoản để trả lời, có thể xác nhận danh tính nếu có ai lo lắng).

Câu trả lời đơn giản thực sự là những gì người khác đã phỏng đoán: đây là một http://en.wikipedia.org/wiki/Voronoi_diagram . Chúng tôi đã sử dụng khái niệm tương tự trên trang 194, trong đó các trang web voronoi có các cặp kinh độ vĩ độ được liệt kê bởi craigslist.org.

Thật không may, kiến ​​thức này thực sự không hữu ích lắm. Với biểu đồ Craigslist, rõ ràng sẽ sử dụng giá trị nào cho các trang web. Nhưng Dataclysm đã sử dụng trò ảo thuật nào để gán tọa độ x / y trong biểu đồ này?

Câu trả lời có liên quan nhiều hơn hầu hết mọi người mong đợi và tôi không thể nói rằng tôi khuyên bạn nên làm lại những gì chúng tôi đã làm. Tôi cá là ai đó khác ở đây có thể đề xuất một cách tiếp cận nhận được ít nhiều kết quả tương tự và đơn giản hơn nhiều.

Sự thật là:

Christian và tôi đã qua lại trong hơn 3 tháng để tạo ra các biểu đồ cho chương này, rằng chúng tôi không bao giờ có thể làm việc. Nhưng, kết quả của một cách tiếp cận thường được đưa vào tiếp theo.

  1. Điều quan trọng nhất không may liên quan đến một kỹ thuật và một số tài sản hình ảnh mà tôi không được tự do khám phá hoặc chia sẻ theo bất kỳ cách có ý nghĩa nào, bởi vì chúng ta vẫn có thể sử dụng chúng bằng cách nào đó. Điều tôi sẽ nói là chúng tôi đã lấy một http://en.wikipedia.org/wiki/Graph_theory#Graph phức tạp mà chúng tôi đã biên soạn với sự cho phép từ dữ liệu của Reddit, liên quan đến userids và subreddits, và chúng tôi đã chơi xung quanh với biểu đồ này và các dẫn xuất khác nhau của nó bên trong http://gephi.github.io/(Tôi đặc biệt là một fan hâm mộ của "OpenOrd" những ngày này). Trên thực tế, chúng tôi đã có một hình ảnh tuyệt vời - sẽ là điểm nổi bật của cuốn sách nếu nó được xuất bản - nhưng trong khi nó hoạt động tốt trên một trang web thì nó không in tốt trong một cuốn sách - không đủ chỗ hoặc độ phân giải. Christian ban đầu đã cân nhắc việc đặt nó như một cuốn sách trong cuốn sách, nhưng nó không hiệu quả về mặt chi phí cho Crown.

  2. Tuy nhiên, tại thời điểm này, chúng tôi đã có một hình ảnh có tọa độ x / y cho các subreddits và chúng ít nhất được sắp xếp tương đối hợp lý trong không gian x / y. Chúng tôi cũng rất vội vì thời hạn xuất bản đang đến gần. Tôi là một lập trình viên đầu tiên và là một người dữ liệu thứ hai, vì vậy để phù hợp với ranh giới cực kỳ chặt chẽ của trang trong cuốn sách và thời gian còn lại trên đồng hồ, bản năng của tôi là viết một chương trình trong Box2D mô phỏng ranh giới của trang như các bức tường, đặt một phiên bản cực kỳ thu nhỏ của đồ thị bên trong và mô phỏng việc phát triển các nút đó (không phải tự nhiên đối với Box2D, nó hy vọng các vật thể cứng không thay đổi) cho đến khi mọi thứ đập vào tường và nhau. Các nút tăng trưởng với tỷ lệ tương ứng với kích thước của subreddit mà chúng đại diện, điều đó có nghĩa là kích thước cuối cùng cũng sẽ tỷ lệ theo cùng một cách.ảnh chụp màn hình của chương trình box2d trong khi chạy

  3. Kết quả của nó trông không đẹp chút nào, nhưng nó đã mang lại cho tôi một thứ rất có giá trị: các trang web voronoi. Tôi đã lấy trọng tâm của đa giác box2d, đưa chúng qua một quy trình chuẩn và đó là những gì được sử dụng cho biểu đồ trong cuốn sách. Tôi tin rằng nhãn văn bản được áp dụng bằng tay trong photoshop.

Ngẫu nhiên, màu tế bào có liên quan đến một thống kê mà chúng tôi đã phát triển để tạo thành biểu đồ trở lại trong (A)


1
Chào mừng đến với trang web. Điều này gần với cách tôi có thể đã cố gắng để làm điều đó. Sử dụng bất kỳ bố cục đồ thị nào để gán tọa độ xy cho các nút. (Có thể trong một số bố cục dựa trên lực để tạo các ô xấp xỉ kích thước bạn muốn dựa trên chỉ định trọng lượng và khối lượng cạnh, nhưng tôi nghi ngờ chúng sẽ chính xác.) Sau khi tạo các vùng voronoi của bố cục đồ thị ban đầu, sau đó tôi sẽ sử dụng một công cụ bản đồ, như Scapetoad , để làm cho các khu vực kết thúc tỷ lệ thuận với thống kê quan tâm. Điều này kết thúc khá giống với chương trình bạn đề xuất trong box2d.
Andy W

0

Nó trông giống như một vấn đề đám mây từ với sự xuất hiện đa giác Voronoi. Bạn cần sử dụng tần số từ để quyết định vị trí (tần số cao có nghĩa là trung tâm). Miễn là vị trí của các từ được xác định, vẽ đa giác Voronoi không phải là một vấn đề lớn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.