Melbviz is a package for learning how to building interactive visualisation and dashboards in Python, using the libraries including Plotly, Plotly Dash, and ipywidgets, while also learning about Pedestrian traffic in the central business district of Melbourne, Australia. The package is designed around analysing the Melbourne City Council Pedestrian Counting System dataset.
The project consists of:
- A python package,
melbviz
, that contains the ingredients for building out your own interactive interfaces for exploring Melbourne CBD pedestrian traffic using Dash, a library for building analytic web apps. - A collection of Jupyter Notebooks for working with the Melbourne pedestrian datasets.
You can use Melbviz either through the live environment on Binder, or by installing it into your local environment. If you are participating in a workshop, then unless otherwise instructed, you want to use the Binder method.
These notebooks are found in the notebooks
directory. The
talk_data_viz.ipynb
requires the use of Jupyter Notebook classic to view the
RISE presentation. It is recommended to use JupyterLab for the remaining
notebooks.
talk_data_viz.ipynb
: A presentation on why we do data visualisation that uses the RISE packageinteractive_data_viz.ipynb
: A workshop that goes through the use of the Plotly visualisation package and the ipywidgets package, for doing interactice data visualisation.workshop_dashboards1.ipynb
andworkshop_dashboards1.ipyn
: A workshop in two parts that will take you on a dashboarding journey, going from initial discovery and data wrangling to deploying your completed Dash dashboard.
This repo has been prepared to run on the wonderful Binder service.
This link will spin up a notebook in JupyterLab with all relevant dependencies installed and data downloaded ready to go for you to play around with.
To install Melbviz in your own environment (Ubuntu instructions only sorry), follow the following steps:
Ubuntu system dependencies:
- Python 3.8+
- Nodejs 12.0.0+
libsnappy-dev
sudo apt-get install libsnappy-dev
Create and activate a new virtual environment, then run, the following
commands. Or, if you use pyenv, you can run
the make-env.sh
to do all of this in one step (see script to change Python
version or venv name).
pip install -U pip wheel
pip install -r requirements.txt
pip install -e .
jupyter labextension install @jupyter-widgets/jupyterlab-manager plotlywidget
jupyter labextension install jupyterlab-plotly
jupyter labextension install @ryantam626/jupyterlab_code_formatter
jupyter nbextension install --user --py hide_code
jupyter nbextension enable --user --py hide_code
jupyter serverextension enable --user --py hide_code
Download and prep the data:
./get-data.sh