It's that time of year; trees are being lit, gifts are being wrapped, and you can't seem to stop hearing "Frosty the Snowman" on repeat. If you're in the holiday spirit, you might sit down to Netflix Love Actually, the Christmas-y multiple-storyline rom-com from 2003. But why simply watch it when you can do so much more?
Last year, David Robinson at Variance Explained described how he used R to parse a Love Actually script, creating a data frame of the lines attributed to the movie’s main characters. He rather conveniently included the code he used to do it, so we were able to replicate his work and use it to visualize the characters and interactions ourselves, using d3.js.
Starting off broadly, we first look at the number of characters and lines in each scene of the movie. The number of characters remains mostly steady throughout, but the number of lines varies greatly. A notable exception is the last scene, in which many of the main characters appear and the movie wraps up.
Going deeper, we can split this up by character, highlight by gender, and zoom in on scenes of interest. In this chart, bubbles are sized by the number of lines spoken in a scene. We can start to see scenes or groups of scenes in which certain characters appear at the same time. The last scene, which we saw in the previous chart featured many characters, is also notable here in that most characters appear but have relatively few lines each.
Finally, we use a force diagram to look at character interactions. In this graph, characters are connected by lines, with the lines’ weights based on the number of scenes they appear in together (but only if it’s more than one). You can highlight certain types of relationships, hover over the characters to find out their names and the actors who played them, and drag their pictures around to explore.
There’s a few interesting things that pop out here, including the love triangles (Peter-Juliet-Mark, Karen-Harry-Mia) and the characters who don’t interact much with most others (like Billy and Joe).
—Romantic —Friendship —Family —Work
What's the takeaway here? It turns out you can make a data viz out of just about anything.
This project was made possible through Jonathan Soma's Storytelling with Data course at the Columbia University School of Journalism.