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 Summary
Fields Modifier and Type Field Description static LabelPlotterAREA_PLANE_INSTANCEInstance of this class for use with Plane geometry Area positions.static LabelPlotterAREA_SKY_INSTANCEInstance of this class for use with Sky geometry Area positions.static LabelPlotterAREA_SPHERE_INSTANCEInstance of this class for use with Sphere geometry Area positions.static CaptionerKeySetCAPTIONER_KEYSETConfig key set for configuring text font.static ConfigKey<java.lang.Integer>CROWDLIMIT_KEYConfig key to control max label count in spacing region.static LabelPlotterPOINT_INSTANCEInstance of this class for use with point positions.static ConfigKey<java.lang.Integer>SPACING_KEYConfig key to control minimum pixel label spacing.
-
Constructor Summary
Constructors Modifier Constructor Description protectedLabelPlotter(CoordGroup cgrp, boolean isArea)Constructor.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract DataGeomadjustGeom(DataGeom baseGeom)Provides a DataGeom to be used by the layer this form makes, given a DataGeom that characterises the plotting environment.PlotLayercreateLayer(DataGeom geom0, DataSpec dataSpec, LabelStyle style)Creates a PlotLayer based on the given geometry, data and style.LabelStylecreateStyle(ConfigMap config)Creates a style that can be used when creating a plot layer.java.lang.StringgetPlotterDescription()Returns an XML description of this plotter.ConfigKey<?>[]getStyleKeys()Returns the configuration keys used to configure style for this plotter.-
Methods inherited from class uk.ac.starlink.ttools.plot2.layer.AbstractPlotter
getCoordGroup, getPlotterIcon, getPlotterName, getRangeStyleKey, hasReports
-
-
-
-
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 groupisArea- 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:PlotterReturns 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:PlotterReturns the configuration keys used to configure style for this plotter. The keys in the return value are used in the map supplied to thePlotter.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:PlotterCreates a style that can be used when creating a plot layer. The keys that are significant in the supplied config map are those returned byPlotter.getStyleKeys(). The return value can be used as input toPlotter.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:PlotterCreates a PlotLayer based on the given geometry, data and style.The
styleparameter is the result of a call toPlotter.createStyle(uk.ac.starlink.ttools.plot2.config.ConfigMap).The
dataSpecparameter must contain the coordinates defined by this plotter's CoordGroup.The
pointDataGeomparameter is only used ifgetCoordGroup().getPositionCountreturns 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'sDataGeom.hasPosition()method will return truedataSpec- specifies the data required for the plotstyle- data style as obtained fromcreateStyle- Returns:
- new plot layer, or null if no drawing will take place
-
-