Björn Meier - NetworkX Visualization Powered by Bokeh
Visual data exploration, e.g. of social networks, can be ugly manual
work. The talk will be an introduction for the combined usage of
NetworkX and Bokeh in a Jupyter Notebook to show how easy interactive
network visualization can be.
-----
During some work with social network analysis my favoured tool to
study the networks was NetworkX. It provides a wide set of features
and algorithms for network analysis, all in Python. But the
functionality to visualize networks is not very strong and not to
mention the missing interactive manipulation. However during the
exploration of data: exporting, feeding an extra tool for
visualization and then manipulating data manually was a tedious
workflow.
As I also had the optional target of presenting networks in a browser,
I improved this workflow by creating a Flask web application providing
interfaces to my networks. On the browser side I created a javascript
client based on D3.js. In retrospective the required programming
effort in Python and also in Javascript was too much for such a task.
And exactly this target, interactive visualization in a browser (and
as bonus in a Jupyter Notebook), can be achieved quiet easy now with
Bokeh.
The talk will be a step by step introduction, starting with the basic
visualization of a network using Bokeh, NetworkX and a Jupyter
Notebook. Next, how to create interactions with your network which
will be used to change a network structure, e.g. a leaving person. As
we want to see directly the impact of these changes in a network I
will finally show how to update networks and visualize directly how
the importance of the remaining people changes. And all this can be
achieved with Python and maybe a bit of Javascript. |