Last year I spent some time looking at the movie ratings people made at moviepilot.com. They are stored as a list of numbers with millions of rows:
- user 22 gave movie 12 a rating of 80
- user 09 gave move 03 a rating of 95
That endless list of numbers just did not excite me and I wanted to turn it into something I actually enjoy looking at. So I went ahead and turned a long list of numbers into a colorful image (inspired by this forum post).
In this image every movie is represented by a white dot: The more popular a movie is, the bigger and brighter it's dot. The line between movies express how similar the are to each other. Two very similar movies are connected by a greener line, while the lines between not so similar movies are red. Please take a look at the big version of this image.
There's also an interactive_map available! It contains the movie titles (in german). You can drag the map around and use your mousewheel to zoom.
For the techies: This is just the result of playing around with graphs and their visualization. You're looking at a MST of the movie neighbourhood graph as defined by the cosine similarities of movies (using only the ratings and no meta information). Software I used:
- Java for the similarity computation
- Ruby to create a graphml file
- GUESS to visualize that graphml file
- Some python scripts in GUESS to add color
Does anybody out there know something better to plot and layout graphs? I think the force based layout and the plotting could look a whole lot nicer. Holler at me if you know something :-)
Here's some of my bookmarks regarding graph visualization:
- A gallery of large graphs (University of Florida)
- Walrus gallery (3D)
- Flare (Flash library for graph visualization)
I hope I will be able to find more time to create an enhanced version of this image soon. My plan is to make this map not only fun to look at, but actually useful :-)