Class FillPlotter

All Implemented Interfaces:
Plotter<FillPlotter.FillStyle>

public class FillPlotter extends AbstractPlotter<FillPlotter.FillStyle>
Plotter that fills the area under (or above, or to the left/right) the curve defined by a set of X,Y points. This is suitable for drawing something that looks like a histogram from a set of histogram endpoints. It works with large datasets; alpha-shading is used for bars that would be thin.
Since:
15 Jan 2015
Author:
Mark Taylor
  • Field Details

    • HORIZONTAL_KEY

      public static final ConfigKey<Boolean> HORIZONTAL_KEY
      Key to configure whether fill is vertical or horizontal.
    • POSITIVE_KEY

      public static final ConfigKey<Boolean> POSITIVE_KEY
      Key to configure positive/negative direction of fill.
  • Constructor Details

    • FillPlotter

      public FillPlotter(boolean hasHorizontal)
      Constructor.
      Parameters:
      hasHorizontal - true iff horizontal fill is offered (otherwise only vertical)
  • Method Details

    • getPlotterDescription

      public String getPlotterDescription()
      Description copied from interface: Plotter
      Returns an XML description of this plotter.

      Note: really this should appear at the LayerType level.

      Returns:
      one or more <p> elements
    • getStyleKeys

      public ConfigKey<?>[] getStyleKeys()
      Description copied from interface: Plotter
      Returns the configuration keys used to configure style for this plotter. The keys in the return value are used in the map supplied to the Plotter.createStyle(ConfigMap) method.
      Returns:
      keys used when creating a style for this plotter.
    • createStyle

      public FillPlotter.FillStyle createStyle(ConfigMap config)
      Description copied from interface: Plotter
      Creates a style that can be used when creating a plot layer. The keys that are significant in the supplied config map are those returned by Plotter.getStyleKeys(). The return value can be used as input to Plotter.createLayer(DataGeom, DataSpec, S).
      Parameters:
      config - map of style configuration items
      Returns:
      plotter-specific plot style
    • createLayer

      public PlotLayer createLayer(DataGeom geom, DataSpec dataSpec, FillPlotter.FillStyle style)
      Description copied from interface: Plotter
      Creates a PlotLayer based on the given geometry, data and style.

      The style parameter is the result of a call to Plotter.createStyle(ConfigMap).

      The dataSpec parameter must contain the coordinates defined by this plotter's CoordGroup.

      The pointDataGeom parameter is only used if the CoordGroup.getBasicPositionCount() or CoordGroup.getExtraPositionCount() method from this plotter's CoordGroup return a non-zero value, otherwise the plot does not have point positions.

      It is legal to supply null for any of the parameters; if insufficient data is supplied to generate a plot, then the method should return null.

      Creating a layer should be cheap; layers may be created and not used.

      Parameters:
      geom - indicates base position coordinates and their mapping to points in the data space
      dataSpec - specifies the data required for the plot
      style - data style as obtained from createStyle
      Returns:
      new plot layer, or null if no drawing will take place