CS 725/825 - Information Visualization
Spring 2017: Wednesdays, 9:30am-12:15pm, E&CS 2120

Print - Admin





Assignment Guidelines

CS725 @ GitLab

Paper Presentations

Project - updated


Tableau's data visualization software is provided through the Tableau for Teaching program.

Visualization Implementation 4

Contents (hide)

See http://www.cs.odu.edu/~mweigle/CS725-S17/Guidelines for general information on VI assignments.

Of special note for this assignment:
Visualization is in a large sense about design and the individual design decisions that are made. No matter how simple, it is rare that two charts developed independently will look exactly the same or have identical stylings. Group work on VI assignments is not acceptable. Do not start with someone else's solution and make changes -- this is easy to detect.

Due: February 8, 2017 before 9:30am

The goal of this week's assignment is to build charts using the JSON data you created in VI2.


  • Follow the instructions at How to create a project in GitLab to create a new project named CS725-VI4
  • Create a README.md file (see Markdown) that includes your name, CS 725/825, Spring 2017. You must also put a link to your solution webpage here.
  • Make your project 'Private', but add me (mweigle) as a 'Reporter'
  • Follow the instructions on Command Line basic commands page (through "Go into a project, directory or file to work in it") to clone your project in your ~/public_html/cs725/ directory in your ODU-CS account.
  • Create an index.html page for displaying your chart in your CS725-VI4 project

As you make updates, make sure that the version in your local repository (in your ODU-CS account) is up-to-date with the remote repository (in Gitlab).

  • if you are working in your ODU-CS Unix account, as you make changes, be sure to commit changes and push them back to the remote repository
  • if you are working in Gitlab, make sure to go into your ODU-CS Unix account and pull the changes from the remote repository


Use the JSON data you created in VI2 to generate the following charts:

  1. number of journals for each publisher
  2. average cost of an article for each publisher

Your charts must be generated using some web-based JavaScript library. You may use D3, NVD3, Vega-Lite, or another JS library (with my approval).

Both charts must appear on the same webpage. The charts must have appropriate titles and axes labels.

In addition to the charts, you must also write two paragraphs on the same webpage:

  1. Describe your design decisions in building the charts. What were the data types you used? What idioms, marks, and channels did you chose? What ordering decisions did you make?
  2. Describe your experiences using the library to build the chart. What things were easy? What things were difficult?

Bonus opportunities:

  • Bonus points will be given for implementing a tooltip that provides additional information when the user hovers over a data point. The bonus will not be applied if your JS library does this for you automatically -- only if you code it.
  • Bonus points will be given for implementing versions of the charts in more than one library.

Submission: Submit the URL of your webpage in Blackboard (under "Visualization Implementations" > VI4).