GithubHelp home page GithubHelp logo

olivias-pool's Introduction

Olivia's Pool

Multiple visualizations of average song gap for Phish shows from 1990 to early 2016. Check it out.

What That Mean

In Phish parlence, a gap is the number of shows since a song was last played. If the gap is especially large i.e. more than 100, it's a bustout.

"Average song gap" is the average of all gaps for songs in a show. Setlist pages on Phish.net show "average song gap" and the gap chart page shows individual song gap info but, unless I'm an oblivious fool, there isn't anything that shows a table, chart or other kind of graph for multiple shows.

Since I couldn't find anything that would show me average song gap for multiple shows, I decided to build something to do that.

How

There is a phish.net API but it doesn't provide average song gap. As a result, I scraped show dates from phish.net by downloading each yearly setlist page e.g. http://phish.net/setlists/1999.html and pulling show dates out of those pages. Once I had all the dates, I made one request to the gapchart page for each show, pulled the average song gap out of the response and saved it. Having a little empathy for phish.net servers, I waited one second between requests. As a result it took about half an hour to get all the gap info. (I now realize I could have gotten average song gap from each individual show page. It's the same info so this is a moot point. Still would have waited a second between requests.)

With average song gap numbers for every show, I could start visualizing it. The first attempt is what you see on the "chart" tab. There's one bar chart per year. This was great for quickly spotting shows with big gaps. But I couldn't help but wonder... how would this look in a table? I did that next and you see it on the "table" tab. Finally, I thought a heat map might be useful so that's what you see on the "grid" tab.

Nuts and Bolts

Data was scraped from phish.net with a couple of nodejs scripts. The table, charts and heat maps were built with d3.js. The grid or heat map section is a rip-off of Mike Bostock's Calendar View example. Material Design Lite was used for the layout, table and to liven up the visual design.

olivias-pool's People

Contributors

swingley avatar

Watchers

 avatar  avatar

olivias-pool's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.