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 class
Aggregates a line label, graphics position and text anchor. -
Field Summary
Fields -
Constructor Summary
Constructors -
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) Returns an axis annotation object for a given grid painter and captioner.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.static TickSkyAxisLabeller.SkyTick
createInternalTick
(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 description
-
-
Method Details
-
getLabellerName
Description copied from interface:SkyAxisLabeller
Returns a name for this axis labelling mode.- Specified by:
getLabellerName
in interfaceSkyAxisLabeller
- Returns:
- one-word name
-
getLabellerDescription
Description copied from interface:SkyAxisLabeller
Returns a description for this mode.- Specified by:
getLabellerDescription
in interfaceSkyAxisLabeller
- Returns:
- description
-
createAxisAnnotation
Description copied from interface:SkyAxisLabeller
Returns an axis annotation object for a given grid painter and captioner.- Specified by:
createAxisAnnotation
in interfaceSkyAxisLabeller
- Parameters:
gridLiner
- grid lines for a sky plotcaptioner
- text renderer- 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
-