Conceptually, an XYPlot is a class responsible formaintaining a collection of datasets, axes, and graph state, and mapping data-space values to screen-space values suitable for rendering on a {@link View}. More specifically, a plot converts data-space values to user-space values by delegating to an Axis implementation.
User-space values are in the interval [0,1] independent of the screen space size of the plot. For example, a ValueAxis with a visible range of 0.0 to 500.0, will map a data-value of 250.0 to a user-space value of 0.5. A renderer like XYLineRenderer or XYBarRenderer will convert user-space values to screen-space values before rendering. When Chronoscope has CategoryPlot support, then a CategoryAxis would map x-axis values like "Groceries", "Gas", "Utilities" to appropriate user-space values (say, 0, 0.5, 1.0)
An important feature of Chronoscope is support for large dataset scalability. This is achieved using datasets with multiresolution representation. At coarser levels of detail, a dataset may be decimated, interpolated, or filtered in a myriad of ways to compress its size, while hopefully preserving as much signal as possible.
A plot maintains some of the following important values:
... as well as some stylistic overrides:
|
|
|
|
|
|
|
|