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>
public class TracePlotter extends AbstractPlotter<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 Classes Modifier and Type Class Description static classTracePlotter.TraceStyleStyle for trace plot.
-
Field Summary
Fields Modifier and Type Field Description static ConfigKey<java.lang.Boolean>HORIZONTAL_KEYKey to configure whether trace is vertical or horizontal.static ConfigKey<Kernel1dShape>KERNEL_KEYConfig key for smoothing kernel shape.static ConfigKey<Subrange>QUANTILES_KEYKey to configure target quantile range.static ConfigKey<BinSizer>SMOOTHSIZER_KEYConfig key for smoothing width configuration.static ReportKey<java.lang.Double>SMOOTHWIDTH_KEYReport key for smoothing width.static ConfigKey<java.lang.Integer>THICK_KEYKey to configure line thickness.
-
Constructor Summary
Constructors Constructor Description TracePlotter(boolean hasVertical)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description PlotLayercreateLayer(DataGeom geom, DataSpec dataSpec, TracePlotter.TraceStyle style)Creates a PlotLayer based on the given geometry, data and style.TracePlotter.TraceStylecreateStyle(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
-
HORIZONTAL_KEY
public static final ConfigKey<java.lang.Boolean> HORIZONTAL_KEY
Key to configure whether trace is vertical or horizontal.
-
THICK_KEY
public static final ConfigKey<java.lang.Integer> THICK_KEY
Key to configure line thickness.
-
QUANTILES_KEY
public static final ConfigKey<Subrange> QUANTILES_KEY
Key to configure target quantile range.
-
SMOOTHWIDTH_KEY
public static final ReportKey<java.lang.Double> SMOOTHWIDTH_KEY
Report key for smoothing width.
-
SMOOTHSIZER_KEY
public static final ConfigKey<BinSizer> SMOOTHSIZER_KEY
Config key for smoothing width configuration.
-
KERNEL_KEY
public static final ConfigKey<Kernel1dShape> KERNEL_KEY
Config key for smoothing kernel shape.
-
-
Method Detail
-
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 TracePlotter.TraceStyle createStyle(ConfigMap config)
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
-
createLayer
public PlotLayer createLayer(DataGeom geom, DataSpec dataSpec, TracePlotter.TraceStyle 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:
geom- 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
-
-