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 itemsConfigException
boolean 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 createStyle
Copyright © 2024 Central Laboratory of the Research Councils. All Rights Reserved.