Song Lyrics Graph

A graph with a circle for each unique word of '99 Bottles of Beer', with larger circles representing more frequent words. Arrows go between the words to indicate which words follow which words.

A graph of the lyrics of the (very repetitive) road trip song 99 Bottles of Beer. Like a word cloud, the words are larger the more often they appear in the lyrics. Arrows show which words follows which other words.

I’ve seen a few word cloud visualizations of song lyrics. Since I’d been playing around with graphs, I thought it would be interesting to combine a word cloud with a graph to represent both the frequency of and relationships between words in lyrics. As with a word cloud, word size shows how often a particular word was used; arrows indicate which words follow which other words.

I wrote a Python script to convert a text file of lyrics (or any other text) into a GraphML graph. I then used yEd Graph Editor to layout the graph (for most songs, Tree → Balloon layout works well) and export it as an image.