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(uk.ac.starlink.ttools.plot2.config.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(uk.ac.starlink.ttools.plot2.DataGeom, uk.ac.starlink.ttools.plot2.data.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(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 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