IAT 355 Assignment 1

Programming

Create a Scatterplot visualization that reads data from a comma-separated text file. The visualization code should be written in Java using Processing.
You can use another programming language and system if you wish.
A scatterplot treats each data item as an independent entity. Each entity is plotted separately. The visualization must have the following features:

  1. Object-Oriented. Build a class entitled ScatterPlotPoint that stores all of the visual dimensions of an individual point and plots it on the screen.
    Each plotted point will be an instance of this class.
  2. Multiple visual attributes are supported:
    • Plot mark along the X Axis
    • Plot mark along the Y Axis
    • Color of the mark
    • Size of the mark
    • Either shape or orientation of the mark
  3. Automatic scaling. The Plot should be automatically sized on the basis of the variables that are assigned to the X and Y dimensions.
  4. Grid Marking. The axes should have tick marks appropriate to the X and Y values to mark regular data intervals.
  5. Variable Assignment. Data Variables can be assigned to any of the different visual attributes.
  6. Interaction. There must be a combobox that assigns data dimensions to visual dimensions. There must be an interaction technique per visual dimension.
  7. Filtering: Interactively filter out data the falls outside of boundaries that you set.
    The filters should apply to the currently mapped visual dimensions. A filter must be interactively enabled/disabled.

Advice

Advice

Use the matrix stack of transformations.
This set of transformations for each item is isolated from the others by pushing the current transformation on the matrix stack.

Advice

Parse the data file by using loadStrings()
This is a Processing built-in function that reads in all of a text file into a single array of strings. IAT355_Sample_Asst1.pde contains a chunk of code that you can use to read in the test data file data.txt. This data file has 4 data cases. There are three variables.

Data

The Iris dataset is a famous visualization testbed dataset that contains 150 cases of Irises found on the Gaspe Peninsula. There are 5 variables: Sepal Length, Sepal Width, Petal Length, Petal Width, Species.

IrisDataset.csv

Data

To use your data file in Processing, put the data in a folder entitled data within your code's folder.
Hand in a zip file with the data file and the code so that the TA can run it as necessary.

 

Hand In

Please hand in (upload):
The code you wrote. If you extended the example code, then hand that in.
We need to be able to unpack the zip file and go the the resulting folder and run your program.
Be prepared to run the program in the Open Lab on February 2. and show it to the TA.

Due: Tuesday January 31