Difference between revisions of "DataVis2012/Projects/Schapiro"
Line 17: | Line 17: | ||
=== Step 2: Filtering Data === | === Step 2: Filtering Data === | ||
The subset of the artists I use will be decided based on the richness of the data that is scraped. Hopefully we'll see something interesting here! | The subset of the artists I use will be decided based on the richness of the data that is scraped. Hopefully we'll see something interesting here! | ||
I will take the top 5 artists for each city from each week and put into JSON as such: | |||
Rank_data = { // obj containing cities | |||
Boston: [ // each city is array of weeks | |||
[ // each week has array of artist rank objs | |||
{ | |||
artist: 'Beyonce', | |||
listeners: 501 | |||
}, | |||
{ | |||
artist: 'Arcade Fire', | |||
listeners: 200 | |||
}, | |||
... | |||
], | |||
[ | |||
... | |||
] | |||
] | |||
} | |||
Weeks = [ // use FROM_UNIXTIME over full set of weeks | |||
'2009-02-01', | |||
'2009-02-08', | |||
... | |||
] | |||
=== Step 3: Rendering Data === | === Step 3: Rendering Data === |
Revision as of 23:48, 16 April 2012
My Projects
Visualizing Music Hype and Music Tour Correlations
I will be mapping out how many people listen to an artist in various metros compared to the most recent tour route.
Step 1: Acquiring Data
The band tour data will be loaded dynamically, using one of the following datasources: Last.fm Eventful Songkick JamBase
I'll need to test and see which produces the most accurate and extensive data.
I think my best bet for geo hyped music data is to scrape the data myself. I have set up a server script to scrape from the Last.fm API. I grab the weekly hyped artists charts for 46 US cities (http://bit.ly/wBWTk7). The two API calls will be geo.getMetroArtistChart and geo.getMetroHypeArtistChart (http://bit.ly/yoYlvF). The results will be stored in a mySQL database.
Step 2: Filtering Data
The subset of the artists I use will be decided based on the richness of the data that is scraped. Hopefully we'll see something interesting here!
I will take the top 5 artists for each city from each week and put into JSON as such:
Rank_data = { // obj containing cities Boston: [ // each city is array of weeks [ // each week has array of artist rank objs { artist: 'Beyonce', listeners: 501 }, { artist: 'Arcade Fire', listeners: 200 }, ... ], [ ... ] ] }
Weeks = [ // use FROM_UNIXTIME over full set of weeks '2009-02-01', '2009-02-08', ... ]
Step 3: Rendering Data
My current design idea is a map of the US (or world) with circles of differing sizes compared to how popular an artist is, overlaced with a connecting line betweens cities traveled to (in order) in the upcoming/previous tour
UPDATE: After discussing with Silva, the new plan to a slider to deal with time, and as you slide along, tag clouds appear over the various cities of the most popular artists. There is also the option to filter these artists by genre, etc.
I imagine the final result looking something like: http://www.nytimes.com/interactive/2009/02/02/sports/20090202_superbowl_twitter.html
I may be able to do this by modifying https://github.com/stef/timecloud to place tag clouds atop a static image of the United States or a dynamic image such as: http://www.openstreetmap.org/
Update: MOCKUP at http://theitt.com/InternalProjects/DataViz/
To keep clutter minimum, I think I'll use this subset of cities:
- Boston
- Austin
- Philadelphia
- Nashville
- San Francisco
- Miami
- New York