public interface Plotter<S extends Style>
A Plotter also acts as part of an identifier for the type of plot being performed, which is necessary for determining PlotLayer equality; two PlotLayers are equivalent if they match in point of DataSpec, Style and Plotter.
| Modifier and Type | Method and Description | 
|---|---|
| PlotLayer | createLayer(DataGeom pointDataGeom,
           DataSpec dataSpec,
           S style)Creates a PlotLayer based on the given geometry, data and style. | 
| S | createStyle(ConfigMap config)Creates a style that can be used when creating a plot layer. | 
| CoordGroup | getCoordGroup()Returns an object describing which data coordinates are used for
 this plotter and how they are arranged in supplied DataSpec objects. | 
| String | getPlotterDescription()Returns an XML description of this plotter. | 
| Icon | getPlotterIcon()Returns an icon for this plotter for use in user interface. | 
| String | getPlotterName()Returns the name of this plotter for use in user interface. | 
| Object | getRangeStyleKey(S style)Returns an opaque object characterising the region of the plot surface
 covered when using a given plotter style. | 
| ConfigKey<?>[] | getStyleKeys()Returns the configuration keys used to configure style for this plotter. | 
| boolean | hasReports()Indicates whether the drawings produced by this plotter will
 return general interest report information to upstream plotting code. | 
String getPlotterName()
Icon getPlotterIcon()
String getPlotterDescription()
Note: really this should appear at the LayerType level.
CoordGroup getCoordGroup()
ConfigKey<?>[] getStyleKeys()
createStyle(uk.ac.starlink.ttools.plot2.config.ConfigMap) method.S createStyle(ConfigMap config) throws ConfigException
getStyleKeys().
 The return value can be used as input to createLayer(uk.ac.starlink.ttools.plot2.DataGeom, uk.ac.starlink.ttools.plot2.data.DataSpec, S).config - map of style configuration itemsConfigExceptionboolean hasReports()
Drawing.getReport(java.lang.Object)@Equality Object getRangeStyleKey(S style)
extendCoordinateRanges).
 In many cases, such as scatter-plot-like plotters, the range
 is determined only by the coordinate data
 (managed by DataSpec inputs)
 so a null value may be returned.
 This method is chiefly required by histogram-like plotters for which
 the region on the plot surface is not the union of the input positions.
style - plot style to assessPlotLayer createLayer(DataGeom pointDataGeom, DataSpec dataSpec, S style)
The style parameter is the result of a call to
 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 the 
 CoordGroup.getBasicPositionCount()
 or
 CoordGroup.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.
pointDataGeom - indicates base position coordinates and their
                    mapping to points in the data spacedataSpec - specifies the data required for the plotstyle - data style as obtained from createStyleCopyright © 2025 Central Laboratory of the Research Councils. All Rights Reserved.