Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## jcckit.plot
Class Plot

    java.lang.Object
      jcckit.plot.Plot

All Implemented Interfaces:
  DataListener

public class Plot
extends java.lang.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`.

Author:
  Franz-Josef Elmer

Field Summary
`static java.lang.String` | `COORDINATE_SYSTEM_KEY` Configuration parameter key.
`static java.lang.String` | `CURVE_FACTORY_KEY` Configuration parameter key.
`static java.lang.String` | `INITIAL_HINT_FOR_NEXT_CURVE_KEY` Configuration parameter key.
`static java.lang.String` | `LEGEND_KEY` Configuration parameter key.
`static java.lang.String` | `LEGEND_VISIBLE_KEY` Configuration parameter key.

Constructor Summary
`Plot(ConfigParameters config)` Creates an instance from the specified configuration parameters.

Method Summary
`void` | `addPlotListener(PlotListener listener)` Adds the specified `PlotListener`.
`void` | `connect(DataPlot dataPlot)` Connect the specified `DataPlot` with this instance.
`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`.
`GraphicalElement` | `getAnnotation()` Returns the annotation layer.
`GraphicalComposite` | `getCompletePlot()` Creates a graphical representation of the complete plot.
`GraphicalElement` | `getCoordinateSystem()` Returns the view of the coordinate system.
`GraphicalElement[]` | `getCurves()` Returns the graphical representations of all curves.
`GraphicalElement` | `getLegend()` Returns the graphical representations of the legend.
`boolean` | `isLegendVisible()` Returns `true` if the legend is visible.
`protected void` | `notifyListeners(PlotEvent event)` Sends all registrated `PlotListeners` the specified event.
`void` | `removePlotListener(PlotListener listener)` Removes the specfied `PlotListener`.
`void` | `setAnnotation(GraphicalElement annotation)` Sets the annotation layer.
`void` | `setCoordinateSystem(CoordinateSystem coordinateSystem)` Sets the coordinate system.
`DataPoint` | `transform(GraphPoint point)` Transforms a point from device-independent coordinates into data coordinates.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### COORDINATE_SYSTEM_KEY

    public static final java.lang.String COORDINATE_SYSTEM_KEY

  Configuration parameter key.

  See Also:
    Constant Field Values

### CURVE_FACTORY_KEY

    public static final java.lang.String CURVE_FACTORY_KEY

  Configuration parameter key.

  See Also:
    Constant Field Values

### LEGEND_VISIBLE_KEY

    public static final java.lang.String LEGEND_VISIBLE_KEY

  Configuration parameter key.

  See Also:
    Constant Field Values

### LEGEND_KEY

    public static final java.lang.String LEGEND_KEY

  Configuration parameter key.

  See Also:
    Constant Field Values

### INITIAL_HINT_FOR_NEXT_CURVE_KEY

    public static final java.lang.String INITIAL_HINT_FOR_NEXT_CURVE_KEY

  Configuration parameter key.

  See Also:
    Constant Field Values

Constructor Detail

### Plot

    public Plot(ConfigParameters config)

  Creates an instance from the specified configuration parameters.

  Key & Default Value | Type | Mandatory | Description
  --- | --- | --- | ---
  `coordinateSystem =` `CartesianCoordinateSystem` | `ConfigParameters` | no | Definition of the `CoordinateSystem`.
  `curveFactory =` `SimpleCurveFactory` | `ConfigParameters` | no | Definition of the `CurveFactory`.
  `initialHintForNextCurve = null` | `ConfigParameters` | no | Definition of the initial `Hint` which is needed by some `SymbolFactories` like `BarFactory`.
  `legend =` default values of `Legend` | `ConfigParameters` | no | Configuration parameters of a `Legend`.
  `legendVisible = true` | `boolean` | no | If `true` the `Legend` will be created.

Method Detail

### 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`? | Action | Type of sent `PlotEvent`
  --- | --- | --- | ---
  `DataCurve` | Yes | Recreate changed curve. |  | `DATA_CURVE_CHANGED`
  `DataCurve` | No | Recreate 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.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD