Package uk.ac.starlink.ttools.plot2.geom
Class TickSkyAxisLabeller
java.lang.Object
uk.ac.starlink.ttools.plot2.geom.TickSkyAxisLabeller
- All Implemented Interfaces:
SkyAxisLabeller
Partial SkyAxisLabeller implementation that labels axes with positioned
numeric labels.
- Since:
- 21 Feb 2013
- Author:
- Mark Taylor
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classAggregates a line label, graphics position and text anchor. -
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionTickSkyAxisLabeller(String name, String description, boolean labelSys) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract TickSkyAxisLabeller.SkyTick[]calculateTicks(double[][][] lines, Caption[] labels, Rectangle plotBounds) Returns a list of ticks for labelling lines produced by a GridLiner.createAxisAnnotation(GridLiner gridLiner, Captioner captioner, SkySys skySys) Returns an axis annotation object for a given grid painter and captioner.static TickSkyAxisLabeller.SkyTickcreateExternalTick(Caption label, double[][] line, Rectangle bounds) Constructs a single tick that sits outside the plot bounding box for a given grid line.static TickSkyAxisLabeller.SkyTickcreateInternalTick(Caption label, double[][] line) Constructs a single tick that sits inside the plot bounding box for a given grid line.Returns a description for this mode.Returns a name for this axis labelling mode.protected TickSkyAxisLabeller.SkyTick[]removeOverlaps(TickSkyAxisLabeller.SkyTick[] ticks, Captioner captioner) Takes a list of ticks and removes some elements if they are so crowded together the labels overlap.
-
Field Details
-
X_ANCHOR
-
Y_ANCHOR
-
-
Constructor Details
-
TickSkyAxisLabeller
Constructor.- Parameters:
name- labeller namedescription- labeller descriptionlabelSys- labelSys determines whether the sky system coordinate names are written on the axes
-
-
Method Details
-
getLabellerName
Description copied from interface:SkyAxisLabellerReturns a name for this axis labelling mode.- Specified by:
getLabellerNamein interfaceSkyAxisLabeller- Returns:
- one-word name
-
getLabellerDescription
Description copied from interface:SkyAxisLabellerReturns a description for this mode.- Specified by:
getLabellerDescriptionin interfaceSkyAxisLabeller- Returns:
- description
-
createAxisAnnotation
Description copied from interface:SkyAxisLabellerReturns an axis annotation object for a given grid painter and captioner.- Specified by:
createAxisAnnotationin interfaceSkyAxisLabeller- Parameters:
gridLiner- grid lines for a sky plotcaptioner- text rendererskySys- sky coordinate system- Returns:
- axis annotation
-
calculateTicks
protected abstract TickSkyAxisLabeller.SkyTick[] calculateTicks(double[][][] lines, Caption[] labels, Rectangle plotBounds) Returns a list of ticks for labelling lines produced by a GridLiner.- Parameters:
lines- gridliner line point arraylabels- gridliner line label arrayplotBounds- extent of plot region in graphics coordinates- See Also:
-
removeOverlaps
protected TickSkyAxisLabeller.SkyTick[] removeOverlaps(TickSkyAxisLabeller.SkyTick[] ticks, Captioner captioner) Takes a list of ticks and removes some elements if they are so crowded together the labels overlap.- Parameters:
ticks- input tick listcaptioner- text renderer- Returns:
- output tick list, with some items removed if necessary
-
createExternalTick
public static TickSkyAxisLabeller.SkyTick createExternalTick(Caption label, double[][] line, Rectangle bounds) Constructs a single tick that sits outside the plot bounding box for a given grid line.- Parameters:
label- tick textline- grid line coordinates - array of (x,y) arraysbounds- plot region bounds
-
createInternalTick
Constructs a single tick that sits inside the plot bounding box for a given grid line.- Parameters:
label- tick textline- grid line coordinates - array of (x,y) arrays
-