Skip to Main Content
Go to Penn Libraries homepage   Go to Guides homepage
Banner: RDDS; Research Data & Digital Scholarship displayed between 3D mesh surfaces

Network Visualization and Analysis

A guide to social network visualization

Software for Network Visualization and Analysis

Gephi:

  • Free and open-source software for visualizing and analyzing large networks
  • Imports and manipulates data from a variety of sources
  • Includes tools for analyzing network structure and identifying key nodes
  • Documentation & Example

Palladio:

  • Web-based platform for visualizing and analyzing complex data, including social network data
  • Designed for humanities scholars
  • Includes tools for visualizing network structure and exploring relationships between different types of data
  • Tutorial & Example

Cytoscape:

  • Powerful and flexible software platform for visualizing and analyzing complex networks
  • Includes tools for exploring network structure and identifying key nodes
  • Ability to integrate data from a variety of sources
  • Example & Tutorial

Additional Desktop Software:

Additional Web-based Tools:

Python Packages

NetworkX:

  • Supports various graph types, including directed, undirected, weighted, and bipartite graphs
  • Enables data import/export in different formats such as GML, GraphML, and Pajek
  • Offers a wide range of network analysis algorithms like centrality measures and community detection
  • Tutorial & Documentation

igraph:

  • Provides a variety of graph layouts, visualization options, and analysis algorithms
  • Offers support for several graph file formats, including GraphML, GML, and Pajek
  • Supports various graph types, including directed and undirected graphs, and weighted and unweighted graphs
  • Cross-platform compatibility and open-source community support available
  • Tutorial,  Manual, & Documentation

R Package

igraph:

  • Provides a wide range of functions for network analysis, including generating and manipulating graphs, calculating centrality measures, and detecting communities
  • Offers a variety of layout algorithms for visualizing networks, including force-directed, circular, and hierarchical layouts
  • Supports various file formats for importing and exporting network data, including GraphML, Pajek, and GML
  • Has a large user community and extensive documentation with numerous examples
  • TutorialExample, & Documentation

ggraph:

  • Built on top of the ggplot2 package, ggraph provides a unified grammar of graphics for creating network visualizations
  • Allows for easy customization of network plots, such as adjusting the size, shape, and color of nodes and edges
  • Supports a variety of layout algorithms, including force-directed, circular, and treemap layouts
  • Provides options for adding labels, legends, and annotations to network plots
  • Offers easy integration with other ggplot2 extensions, such as gganimate and ggiraph
  • TutorialExample, & Documentation

networkD3:

  • Uses the powerful D3.js library to create interactive network visualizations
  • Offers a range of options for customizing network plots, including adjusting node and edge sizes, colors, and shapes
  • Provides interactive features such as zooming, panning, and highlighting nodes and edges
  • Supports a variety of network types, including directed and weighted networks
  • Offers numerous examples and tutorials for creating interactive network visualizations using networkD3
  • TutorialExample, & Documentation

Introduction to Network Analysis

What is Social Network Analysis?

  • The study of social relationships among individuals, organizations, or groups
  • Examines patterns of connections between social entities and characteristics of the entities themselves

Key Concepts in Social Network Analysis:

  • Nodes: entities in a social network (individuals, organizations, or groups)
  • Edges: connections between nodes (friendships, collaborations, communication channels)
  • Networks: overall structures that emerge from connections between nodes and edges
  • Centrality: measures the importance of nodes within a social network (high centrality nodes are important hubs or connectors)
    • Closeness centrality: measures how close a node is to all other nodes
    • Betweenness centrality: measures how often a node lies on the shortest path between other pairs of nodes
  • Clustering: measures the degree to which nodes in a network form tightly interconnected groups or clusters

Graphic illustration of the network descriptors degree, triangle, clustering coefficient, closeness centrality and betweenness centrality in a hypothetic network. (Zhang et al., 2016)

Applications of Social Network Analysis:

  • Used in humanities, sociology, psychology, business, and computer science
  • Analyzes social media networks, organizational structures, spread of disease/information, social influence/persuasion, and identifies key players in a social network

Reference:

Zhang, P., Tao, L., Zeng, X., Qin, C., Chen, S., Zhu, F., Li, Z., Jiang, Y., Chen, W., & Chen, Y. Z. (2017). A protein network descriptor server and its use in studying protein, disease, metabolic and drug targeted networks. Briefings in Bioinformatics18(6), 1057-1070.

Resources for Learning Network Analysis

  1. Introduction to Social Network Methods: A comprehensive online textbook that introduces the basics of social network analysis. 
  2. UCINET: Software for social network analysis that includes a variety of tools and algorithms for analyzing social networks. 
  3. Network analysis with R and igraph: NetSci X Tutorial: This tutorial provides an introduction to social network analysis using igraph package in R (Ognyanova, 2016)
  4. Network Analysis and Visualization with R: This online book covers network analysis and visualization techniques using R. It includes examples using various R packages such as igraph, statnet, and visNetwork (Ognyanova, 2021). 
  5. Coursera:
  6. Stanford Network Analysis Project: This website provides a variety of resources on social network analysis, including tutorials, courses, and software tools. The website also hosts the Stanford Network Analysis Platform (SNAP), a general-purpose network analysis and graph mining library in Python. 
  7. NodeXL: NodeXL is a free and open-source network analysis and visualization software for Microsoft Excel. The software includes a variety of tools for network analysis, including network metrics, visualization, and automation. 
  8. Pajek: Pajek is a software package for analysis and visualization of large networks. The software includes a variety of tools for network analysis, including clustering, blockmodeling, and visualization. 

 

Reference:

Ognyanova, K. (2016) Network analysis with R and igraph: NetSci X Tutorial. Retrieved from www.kateto.net/networks-r-igraph.

Ognyanova, K. (2021) Network visualization with R. Retrieved from www.kateto.net/network-visualization.

Network Data Archives

   UCI KDD Archive

  • Repository of machine learning datasets for various domains, including classification, regression, and clustering.

  • International Networks Archive

  • Current and historical network data sets on communication, trade, tourism, policy issues, migration, and other topics.

  • Stanford Large Network Dataset Collection

  • Collection of network datasets for research on social, information, and biological networks.

  • UCINET Datasets

  • Datasets for social network analysis, including network measures, demographic variables, and behavioral data.

Librarian

Profile Photo
Jajwalya Karajgikar
she/her/hers
Subjects: Statistics

Credits

This guide was created by Rachel Liu, she is a Research Data and Digital Scholarship Text and Data Mining Assistant at Van Pelt Library. Rachel is a graduate student in Learning Sciences & Technologies concentrating on Education Data Mining.

Workshop Recordings

Penn Libraries Home Franklin Home
(215) 898-7555