Class TracePlotter
java.lang.Object
uk.ac.starlink.ttools.plot2.layer.AbstractPlotter<TracePlotter.TraceStyle>
uk.ac.starlink.ttools.plot2.layer.TracePlotter
- All Implemented Interfaces:
Plotter<TracePlotter.TraceStyle>
Plots a line through a cloud of points in 2d, tracing a given
quantile or pair of quantiles at each column (or row) of pixels.
- Since:
- 9 Dec 2016
- Author:
- Mark Taylor
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
Defines the graphial style for joining sparse samples.static class
Style for trace plot. -
Field Summary
FieldsModifier and TypeFieldDescriptionKey to configure whether trace is vertical or horizontal.static final ConfigKey
<Kernel1dShape> Config key for smoothing kernel shape.Key to configure target quantile range.Config key for smoothing width configuration.Report key for smoothing width.Key to configure line thickness. -
Constructor Summary
ConstructorsConstructorDescriptionTracePlotter
(String name, Icon icon, CoordGroup coordGrp, boolean hasVertical, String basicDescription, TracePlotter.QJoin dfltJoin) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionstatic TracePlotter
createArraysTracePlotter
(boolean hasVertical) Creates a TracePlotter instance for X/Y array data.protected abstract FillPlan
createFillPlan
(Surface surface, DataSpec dataSpec, DataGeom geom, TracePlotter.TraceStyle style, DataStore dataStore) Creates a plan object suitable for this layer.createLayer
(DataGeom geom, DataSpec dataSpec, TracePlotter.TraceStyle style) Creates a PlotLayer based on the given geometry, data and style.static TracePlotter
createPointsTracePlotter
(boolean hasVertical) Creates a TracePlotter instance for standard 2-d point cloud data.createStyle
(ConfigMap config) Creates a style that can be used when creating a plot layer.Returns the config key for the Join Mode used by this plotter.Returns an XML description of this plotter.ConfigKey<?>[]
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 Details
-
HORIZONTAL_KEY
Key to configure whether trace is vertical or horizontal. -
THICK_KEY
Key to configure line thickness. -
QUANTILES_KEY
Key to configure target quantile range. -
SMOOTHWIDTH_KEY
Report key for smoothing width. -
SMOOTHSIZER_KEY
Config key for smoothing width configuration. -
KERNEL_KEY
Config key for smoothing kernel shape.
-
-
Constructor Details
-
TracePlotter
public TracePlotter(String name, Icon icon, CoordGroup coordGrp, boolean hasVertical, String basicDescription, TracePlotter.QJoin dfltJoin) Constructor.- Parameters:
name
- plotter nameicon
- plotter iconcoordGrp
- coordinate grouphasVertical
- true iff vertical fill is offered (otherwise only horizontal)basicDescription
- main part of XML description, may be augmented by the base classdfltJoin
- default join mode
-
-
Method Details
-
getJoinModeKey
Returns the config key for the Join Mode used by this plotter.- Returns:
- join mode config key
-
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
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 thePlotter.createStyle(uk.ac.starlink.ttools.plot2.config.ConfigMap)
method.- Returns:
- keys used when creating a style for this plotter.
-
createStyle
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 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
-
createLayer
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 toPlotter.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 theCoordGroup.getBasicPositionCount()
orCoordGroup.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:
geom
- indicates base position coordinates and their mapping to points in the data spacedataSpec
- specifies the data required for the plotstyle
- data style as obtained fromcreateStyle
- Returns:
- new plot layer, or null if no drawing will take place
-
createFillPlan
@Slow protected abstract FillPlan createFillPlan(Surface surface, DataSpec dataSpec, DataGeom geom, TracePlotter.TraceStyle style, DataStore dataStore) Creates a plan object suitable for this layer.- Parameters:
surface
- plot surfacedataSpec
- data specgeom
- geomstyle
- styledataStore
- data store- Returns:
- populated plan
-
createPointsTracePlotter
Creates a TracePlotter instance for standard 2-d point cloud data.- Parameters:
hasVertical
- true iff vertical fill is offered (otherwise only horizontal)- Returns:
- plotter instance
-
createArraysTracePlotter
Creates a TracePlotter instance for X/Y array data.- Parameters:
hasVertical
- true iff vertical fill is offered (otherwise only horizontal)- Returns:
- plotter instance
-