Data Sources
- A Data Source is a collection of points, plus a title
- A Collection of Data Points has
- A dimension
- A name for each dimension
- Each point has values for each dimension
Need to Support
- 1D plots
- X-Y plots
- 2D plots
- 3D plots
- 4D plots
- binned or unbinned
How to deal with?
- Rebinning (a special case of the view interacting with the data)
- Non-double data values (string, date, integer, etc)
- How does the plot know how to display each data type
- Need to deal with data sources that are changing (updating)
- Needs to be able to deal with very large collections.
- Need to maintain backwards compatibility with existing data sources
- Could just have adapters from current data sources to new data sources
Data Managers
- Role of DataManager is to:
- Coordinate display of multiple DataSources
- Choose default display style
- Allow user to select alternative display styles
- Set default ranges on axis
- Where appropriate allow user interaction with axes
- Creates Popup Menu
- Allow for adding and removing functions
- Allow for adding and removing slices
Problems
- Currently DataManager is unwieldy, difficult to understand, difficult to
verify that it is correct.
- Would be nice to support plugable display styles, so new display styles
can be added easily.
- For example someone should be able to add a 2D lego plot without
having to understand the details of the DataManager implementation.
Need to support
- Need to support different display styles
- Direct painting
- Painting via image (ScatterPlot)
- Java 3D
- Other (OpenGL)