For this tutorial, you will need the following packages:
- Python 3
matplotlib
networkx
pandas
hiveplot
-conda install -c conda-forge hiveplot
orpip install hiveplot
.nxviz
-conda install -c conda-forge nxviz
. (This implements Circos plots; HivePlots are being migrated over.)numpy
scipy
$ cd /path/to/your/directory
- Clone the repository to disk:
$ git clone https://github.com/ericmjl/Network-Analysis-Made-Simple.git
$ cd Network-Analysis-Made-Simple
If you have the Anaconda distribution of Python 3 installed, then run bash conda-setup.sh
, which wraps the commands below.
$ conda env create -f environment.yml
$ source activate network
Check your environment by running the following command:
$ python checkenv.py
If you do not have the Anaconda distribution, I would highly recommend getting it for Windows, Mac or Linux. It provides an isolated Python computing environment that will not interfere with your system Python installation, and comes with a very awesome package manager (conda
) that makes installation of new packages a single conda install pkgname
away.
If you're not using Python 3, then check out @jakevdp's talk at SciPy2015 to find out why!
For those who do not have the capability of installing the Anaconda Python 3 distribution on their computers, please follow the instructions below.
Run bash venv-setup.sh
, which wraps up the commands below. Special thanks to @matt-land for putting this script together.
- Create a virtual environment for this tutorial, so that the installed packages do not mess with your regular Python environment.
2.
$ pip install virtualenv
3.$ virtualenv network
4.$ source network/bin/activate
$ pip install matplotlib networkx pandas hiveplot numpy jupyter
Check your environment:
$ python checkenv.py
$ jupyter notebook
Your browser will open to an index page where you can click on a notebook to run it. Test that everything runs fine by executing all of the cells in the Instructor versions of the notebooks.
If you've attended this workshop, please leave feedback! It's important to help me improve the tutorial for future iterations.
If you get a "Python is not installed as a framework" error with matplotlib, please check out this issue for instructions to resolve it.
If you're facing difficulties, please report it as an issue on this repository.
- Divvy Data Challenge: https://www.divvybikes.com/datachallenge
- Jon Charest's use of Circos plots to visualize networks of Metal music genres. blog post | notebook
- Gain further practice by taking this course online at DataCamp!
- A gentle introduction to graph theory on Vaidehi Joshi's website
Many thanks to the following users who have contributed to improving the content and finding bugs.
- @jzab
- @muthazhagu
- @ghirlekar
- @jamesbev
- @romanchyla
- @jonchar
- @remik
- @matt-land
- @smacleod
- @RyPeck
- @zmilicc