. The Fundamentals of Social Network Analysis We discuss the basic concepts of network analysis using the previously introduced
dataset based on simple analyses conducted with NetworkX [6]. Over the course of
this introduction, we follow an exploratory analysis pattern [9], which comprises
the following steps: Definition of nodes and edges, manipulation of the network,
computation of network measures, visualization of the network.
In the definition step, we discuss the implicit and explicit assumptions that have
to be made when modeling network structures from different types of network
data. With regard to the manipulation step, we explain several approaches to query-
ing and manipulating network structures using NetworkX [6]. After covering those
steps, we proceed with the introduction of well-known network measures along a
multi-level multi-theory framework [10], which systematically captures different
units of analysis, ranging from the level of individual actors to the network level.
Finally, we cover the visualization of networks in general, and in Python in partic-
ular, in a dedicated section of this tutorial.
. The Fundamentals of Network Visualization One of the profound strengths of network analysis lies within the beauty and in-
tuitive nature of network visualizations. While it has become deceptively easy to
visualize networks using tools like Gephi [4], which provide easy access to a variety
of sophisticated layout algorithms and a plethora of useful visualization features,
creating meaningful visualizations requires a systematic understanding of their
building blocks.
We briefly discuss those building blocks and provide an overview of the most
common layout algorithms used in practice. Using the dataset analyzed in the first
part of this tutorial, we demonstrate how to create simple network visualizations
using NetworkX [6].
The last part of this tutorial is dedicated to the discussion of the interactive vi-
sualization of networks. We demonstrate two approaches to create such visual-
izations: The first approach is based on exporting network data from Python and
importing them into Gephi [4]. The second approach utilizes the d3.js [2] frame-
work in conjunction with Python and NetworkX [6].
SOCNET 2018, February 28, 2018
5