Class LabelPlotter

  • All Implemented Interfaces:
    Plotter<LabelStyle>

    public abstract class LabelPlotter
    extends AbstractPlotter<LabelStyle>
    Plotter that writes a text label at each graphics position.
    Since:
    15 Feb 2013
    Author:
    Mark Taylor
    • Field Detail

      • SPACING_KEY

        public static final ConfigKey<java.lang.Integer> SPACING_KEY
        Config key to control minimum pixel label spacing.
      • CROWDLIMIT_KEY

        public static final ConfigKey<java.lang.Integer> CROWDLIMIT_KEY
        Config key to control max label count in spacing region.
      • CAPTIONER_KEYSET

        public static final CaptionerKeySet CAPTIONER_KEYSET
        Config key set for configuring text font.
      • POINT_INSTANCE

        public static final LabelPlotter POINT_INSTANCE
        Instance of this class for use with point positions.
      • AREA_PLANE_INSTANCE

        public static final LabelPlotter AREA_PLANE_INSTANCE
        Instance of this class for use with Plane geometry Area positions.
      • AREA_SKY_INSTANCE

        public static final LabelPlotter AREA_SKY_INSTANCE
        Instance of this class for use with Sky geometry Area positions.
      • AREA_SPHERE_INSTANCE

        public static final LabelPlotter AREA_SPHERE_INSTANCE
        Instance of this class for use with Sphere geometry Area positions.
    • Constructor Detail

      • LabelPlotter

        protected LabelPlotter​(CoordGroup cgrp,
                               boolean isArea)
        Constructor.
        Parameters:
        cgrp - coord group
        isArea - true for area coordinates, false for point coords
    • Method Detail

      • adjustGeom

        protected abstract DataGeom adjustGeom​(DataGeom baseGeom)
        Provides a DataGeom to be used by the layer this form makes, given a DataGeom that characterises the plotting environment. The output should be similar to the input, for instance implementing the same plotType-specific DataGeom subtype.

        In most cases the supplied instance can be returned unchanged, but instances with special requirements may want to adjust how the data is interpreted.

        Parameters:
        baseGeom - context geom
        Returns:
        geom to use for data interpretation, the same or similar to the input
      • 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 geom0,
                                     DataSpec dataSpec,
                                     LabelStyle 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:
        geom0 - 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