This course introduces common data visualization techniques and design principles using python with the seaborn, bokeh, plotly, and networkx packages. Students design and implement interactive, multivariate, text, hierarchical, network, and temporal data visualizations. Restriction: Restricted to Graduate level; Restricted to Analytics Majors

Assignment 4 - Network Visualization - (50 points)



Due date: 4/23/2018 at 11:59pm

Objectives



  • Get familiar with network visualization in Python
  • Familiarize yourself with python visualization libraries
  • Gain practice with networkx

Part 1 - Create and visualize a graph



For this part of the assignment, you need to create a graph by adding nodes and edges in a Python program using the networkx library. Visualize the created graph using matplotlib or plotly. (20 points)

Part 2 - Visualize a graph generated from CSV files



For this part of the assignment, read in data for a graph in the form of nodes and edges from a CSV file. This detailed tutorial on Exploring and Analyzing Network Data with Python can serve as a great starting point. Create your own CSV files of nodes and edges and visualize them using plotly or python-igraph. (30 points)

Extra credit



Incorporate any of the network analysis features in networkx to highlight nodes, edges, clusters, and so on in your graph for Part 2. (5 points)

Submitting the assignment



  • For this assignment, submit all your python code along with the expected output (screenshots and a report with captions) or a python notebook.
  • Your report/notebook must contain your name, title of the assignment - "Network Visualization using networkx"
  • Submit a zip file that contains all the contents of the folder - report, python code, and screenshots or the python notebook on Canvas.