Class LabelPlotter

java.lang.Object
uk.ac.starlink.ttools.plot2.layer.AbstractPlotter<LabelStyle>
uk.ac.starlink.ttools.plot2.layer.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 Details

    • XOFF_KEY

      public static final ConfigKey<Integer> XOFF_KEY
      Config key to control X pixel offset.
    • YOFF_KEY

      public static final ConfigKey<Integer> YOFF_KEY
      Config key to control Y pixel offset.
    • SPACING_KEY

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

      public static final ConfigKey<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 Details

    • LabelPlotter

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

    • 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 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 LabelStyle createStyle(ConfigMap config) throws ConfigException
      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
      Throws:
      ConfigException
    • 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(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:
      geom0 - 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