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 Detail

      • HORIZONTAL_KEY

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

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

      • FillPlotter

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

      • getPlotterDescription

        public java.lang.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
      • 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(uk.ac.starlink.ttools.plot2.config.ConfigMap).

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

        The pointDataGeom parameter is only used if getCoordGroup(). getPositionCount returns 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; if non-null, the data geom's DataGeom.hasPosition() method will return true
        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