Package jcckit.plot

Class Plot

java.lang.Object
jcckit.plot.Plot
All Implemented Interfaces:
DataListener

public class Plot extends Object implements DataListener
A plot is determined by a CoordinateSystem, Curves, an optional annotation layer and an optional Legend. When rendered these components are draw in this order.

Registrated PlotListeners will be informed when the plot changes.

A DataPlot can be connected with a Plot instance. This is done with the method connect() which registrates this Plot instance as a DataListener at the connected DataPlot. After an received DataEvents has been handled the registrated PlotListeners will receive a PlotEvent of the type PlotEventType.DATA_PLOT_CHANGED.

  • Field Details

  • Constructor Details

  • Method Details

    • setCoordinateSystem

      public void setCoordinateSystem(CoordinateSystem coordinateSystem)
      Sets the coordinate system. All curves will be regenerated and a PlotEvent of type PlotEventType.COODINATE_SYSTEM_CHANGED will be fired.
      Parameters:
      coordinateSystem - New coordinate system.
    • addPlotListener

      public void addPlotListener(PlotListener listener)
      Adds the specified PlotListener. Does nothing if already added.
    • removePlotListener

      public void removePlotListener(PlotListener listener)
      Removes the specfied PlotListener. Does nothing if already removed.
    • notifyListeners

      protected void notifyListeners(PlotEvent event)
      Sends all registrated PlotListeners the specified event.
    • connect

      public void connect(DataPlot dataPlot)
      Connect the specified DataPlot with this instance.

      If this Plot instance is already connected with a DataPlot the connection will be released and a PlotEvent of the type PlotEventType.DATA_PLOT_DISCONNECTED will be sent to all registrated PlotListeners.

      It registers itself at dataPlot and all its DataCurves.

      Finally all curves will be generated and a PlotEvent of the type PlotEventType.DATA_PLOT_CONNECTED will be transmitted.

      Parameters:
      dataPlot - Data to be connected with this plot instance. Can be null in order to disconnect this instance from any DataPlot.
    • transform

      public DataPoint transform(GraphPoint point)
      Transforms a point from device-independent coordinates into data coordinates.
      Parameters:
      point - Point in device-independent coordinates.
      Returns:
      transform point.
    • getCompletePlot

      public GraphicalComposite getCompletePlot()
      Creates a graphical representation of the complete plot.
      Returns:
      GraphicalComposite containing the views of the coordinate system, the curves, and optionally the legend (in this order).
    • getCoordinateSystem

      public GraphicalElement getCoordinateSystem()
      Returns the view of the coordinate system.
    • getCurves

      public GraphicalElement[] getCurves()
      Returns the graphical representations of all curves.
    • getAnnotation

      public GraphicalElement getAnnotation()
      Returns the annotation layer.
      Returns:
      null if no annotation layer.
    • setAnnotation

      public void setAnnotation(GraphicalElement annotation)
      Sets the annotation layer.
      Parameters:
      annotation - Any kind of graphics which will be drawn on the top of the curves but may be covered by the legend. Can be null.
    • isLegendVisible

      public boolean isLegendVisible()
      Returns true if the legend is visible.
    • getLegend

      public GraphicalElement getLegend()
      Returns the graphical representations of the legend.
    • dataChanged

      public void dataChanged(DataEvent event)
      Handles the received DataEvent and notifies PlotListeners by an event of the type PlotEventType.DATA_CURVE_CHANGED or PlotEventType.DATA_PLOT_CHANGED. The following table shows what this method does:
      Source of event All hints for the next curve are null? ActionType of sent PlotEvent
      DataCurveYesRecreate changed curve. DATA_CURVE_CHANGED
      DataCurveNoRecreate changed curve and all curves with large curve index. DATA_PLOT_CHANGED
      DataPlot-Recreate all curves and Legend view. DATA_PLOT_CHANGED
      Specified by:
      dataChanged in interface DataListener
      Parameters:
      event - Data event informing where and what happened.