The visual model

The visual model provides the following core properties that determine the appearance of a plot. Many are and represented as cyclic array lists. These are simply ArrayLists where the get method has been overridden to support multiplexed data in in Waterloo plots. That is explained in more detail here.

Line properties determine the appearance of lines drawn between the xData and yData points:

  • GJCyclicArrayList lineColor - the color of the line
  • GJCyclicArrayList lineStroke - specifies the thickness of the line and whether it is e.g. solid or dashed

Marker properties determine the appearance of markers drawn at the xData and yData points:

  • GJCyclicArrayList markerArray - the marker to draw specified as an instance of the GJMarker class
  • GJCyclicArrayList edgeColor - the color of the markers edge
  • GJCyclicArrayList edgeStroke - specifies the thickness of the edge line and whether it is e.g. solid or dashed
  • GJCyclicArrayList fill - the color of the markers interior

The following properties can also specified for individual plots:

  • float alpha - The opacity of the plot (default =1f)
  • int compositeMode - the Java Graphics2D composite mode (default=AlphaComposite.SRC_OVER)
  • Object renderHintState - the Java Graphics2D graphics rendering hint (default=AntiAliasing.ON)
  • Object textHintState - the Java Graphics2D text rendering hint (default=AntiAliasing.ON)

The visual model also contains the screenDataArray: which is filled with data during plotting, typically with Shapes that represent the painted data and is used internally to determine which plot (if any) a the mouse click hit.