An exercise in Data Visualisation, using a dataset which focuses on the number of deaths that take place in movies.
It is possible to filter results by Year, Director, Genre, MPAA Rating, and Deaths per Minute.
All instructions on how to use this dashboard can be found within the hosted application by clicking on the 'Start Here' button.
Due to the limited nature of the dataset (422 movies from 1949 to 2010) it is not possible to infer too much hard fact from analysis.
This is meant purely as a learning exercise, displaying some of the features of dc.js and crossfilter.js, and aiming to increase my own knowledge of working with the Flask framework and json data.
No installation is necessary to view this app online. A live version of this dashboard is hosted here on Heroku.
If you wish to test/develop this app locally, clone this repo and use the following guidelines:
You must have Python 2.7 installed on your system, available here. Download the correct version for your operating system and follow the installation instructions.
Create and activate a local virtual environment and pip install -r requirements.txt
Run your app using the following commands in command line:
$ export FLASK_APP=stream2_project.py
$ flask run
Navigate to http://localhost:5000/ to view your app locally
- Flask - a lightweight Python web framework based on Werkzeug and Jinja 2
- dc.js - JavaScript Library for Multi-Dimensional Charting
- intro.js - step-by-step guide and feature introduction
- MongoDB - cross-platform document-oriented NoSQL database program
There are a number of websites dedicated to the meticulous counting and visualisation of on-screen deaths.
- moviebodycounts.com
- randalolson.com - put this dataset together
The greatest amount of credit for the inspiration for this dashboard goes to ramiro.org who created a broadly similar visualisation using different technologies with which I am not familiar (pandas, NumPy and matplotlib).
As of this point, this dashboard is not responsive due to limitations in dc.js. The website is optimised to be viewed on a 2016 15" MacBook Pro, and will not render correctly on any other screensize.
Manual testing was undertaken for every feature of the website and satisfactorily passed.
Brendan Long
This project is licensed under the MIT License.