IAT 355 Assignment 2

Programming

Create a Time Series 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 Time Series as a data case with a sequence of values over time. Think of stock prices over time as a typical time series. Time series plots are typically done with line segments from one time to the next, or as a sequence of glyphs at each time per case. The visualization must have the following features:

  1. Object-Oriented. Build a class entitled TimeSeries that stores all of the visual dimensions of an individual Time Series and plots it on the screen.
    Each plotted Time Series will be an instance of this class.
  2. Multiple visual attributes are supported:
    • Plot Time Series as a connected sequence of line segments.
    • Color of the line segments
    • Size/thickness of the line segments
  3. Automatic scaling. The Plot should be automatically sized on the basis of the variables that are assigned to the X and Y dimensions. This would be the extreme values of all of the time series.
  4. Grid Marking. The axes should have tick marks appropriate to the X and Y values to mark regular data intervals.
  5. Interaction. There must be some sort of interactive technique to select what data gets drawn (which series).
  6. Filtering: Interactively filter out data the falls outside of boundaries that you set. The filters should apply to all of the currently mapped time series. A filter must be interactively enabled/disabled.

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. Popping the stack says "throw out all transformations since I last did pushMatrix()."

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_Asst2.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 sample dataset you can use is 8 Time Series of foreign exchange rates from January 1983 to June 1985. Each date of these rates is contained on one row, with the first column containing date and the next 8 columns containing the rate.

daily-foreign-exchange-1983-1985.csv

The source for this data is Data Market, who in turn received it from the Time Series Data Library

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. Put a link to your stuff in the Sakai IAT355 DropBox
Be prepared to run the program in the Open Lab on Feb 8 and show it to the TA.

Due: Friday February 8