Profile Picture
This user has no profile information.
Libraries (View all)
Modified on: Dec 19, 2018

Welcome to the GitHub repository for Network Analysis Made Simple! This is a tutorial designed to teach you the basic and practical aspects of graph theory. It has been presented at multiple conferences (PyCon, SciPy, PyData, and ODSC) in a variety of formats (ranging from 1.5 hr to 4 hour long workshops). The material is designed for a live tutorial presentation, with the code available for you to reference afterwards.

(Consider this option only if your WiFi is stable)

If you don't want the hassle of getting setup, you can use the Binder service to participate in the live tutorial. Just click on the button below:

For tutorial participants who may run into technical issues, full HTML versions of the notebooks are available to follow along during the tutorial.

For those of you who would like to get setup beforehand and keep a local copy of the repository on your machine, follow along here.

If you have the Anaconda distribution of Python 3 installed on a Unix-like machine (Linux, macOS, etc.), then run , which wraps the commands below.

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 () that makes installation of new packages a single 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 , which wraps up the commands below. Special thanks to @matt-land for putting this script together.

  1. Create a virtual environment for this tutorial, so that the installed packages do not mess with your regular Python environment. 2. 3. 4.

Check your environment:

For this tutorial, you will need the following packages:

  1. Python 3
  2. - or .
  3. - . (This implements Circos plots; HivePlots are being migrated over.)

Then, clone the repository locally.

  1. Clone the repository to disk:

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 would like to teach with this repository material, we request only the following:

  1. As far as possible, make a fork, not a new repository, but no hard restriction here.
  2. Ping us in the Issues tracker here.
  3. Please provide proper attribution back to the original in the primary landing page of derivative work (this would usually imply the ) , with the following text:

This material has been adapted from the tutorial Network Analysis Made Simple created by Eric J. Ma and Mridul Seth. The original material can be found at: https://github.com/ericmjl/Network-Analysis-Made-Simple/.

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.

  1. Divvy Data Challenge
  2. Konect Network Analysis Datasets
  1. Jon Charest's use of Circos plots to visualize networks of Metal music genres. blog post | notebook
  2. Gain further practice by taking this course online at DataCamp!
  3. A gentle introduction to graph theory on Vaidehi Joshi's website
  4. If you're the kind who likes more hands-on practice, consider supporting our course on DataCamp!
Modified on: May 1, 2019
0 clones

NOTE: This repo will be updated before the tutorial so make sure to pull new changes.

For this tutorial, you will need Python 3 and the following packages:

Python2 may/may not work, no promises 😃

Or you can use Binder (only if you have a stable WiFi connection)

and another deployment of Binder https://notebooks.gesis.org/binder/v2/gh/mriduls/pydata-networkx/master

If you have a microsoft account you can use Microsoft Azure notebooks too using https://notebooks.azure.com/MridulS/libraries/pydata-networkx, click on clone and you are good to do 😃

HTML notebooks

  • Clone the repository from GitHub


  • Download the required notebooks from
  • unzip the files and change the directory to
  • Create a virtual environment for this tutorial, so that the installed packages do not mess with your regular Python environment.

If you have the Anaconda distribution of Python 3 installed, then run the commands below.

Your browser will open to an index page where you can click on a notebook to run it.

There is an adpated version of this tutorial in Spanish, thanks to @iris9112 -> https://github.com/iris9112/pycon2019_iris9112

This tutorial is built on and inspired by the previous offerings of this tutorial at PyData LA 2018, PyData NYC 2018, PyData Delhi 2018, SciPy 2018, PyCon US 2018, PyData London 2018, PyData NYC 2017, PyConDE 2017, PyCon PL 2017, EuroSciPy 2017, EuroSciPy 2016, SciPy India 2015 and is a part of (notebooks 7 and 8) Eric Ma's tutorial Network Analysis made Simple https://github.com/ericmjl/Network-Analysis-Made-Simple

Modified on: Mar 24, 2019
Starred Libraries (View all starred libraries)