Class GridPlotter
- java.lang.Object
-
- uk.ac.starlink.ttools.plot2.layer.GridPlotter
-
- All Implemented Interfaces:
Plotter<GridPlotter.GridStyle>
public class GridPlotter extends java.lang.Object implements Plotter<GridPlotter.GridStyle>
Plotter that plots a genuine density map (2-d histogram) on a regular grid. It presents a single Decal, no glyph.- Since:
- 13 Jan 2017
- Author:
- Mark Taylor
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classGridPlotter.GridStyleStyle for configuring the grid plot.
-
Field Summary
Fields Modifier and Type Field Description static ConfigKey<Combiner>COMBINER_KEYConfig key for combination mode.static ReportKey<uk.ac.starlink.table.StarTable>GRIDTABLE_KEYReportKey for exported grid table.static ConfigKey<java.lang.Double>TRANSPARENCY_KEYstatic ConfigKey<BinSizer>XBINSIZER_KEYConfig key for X bin size configuration.static ReportKey<java.lang.Double>XBINWIDTH_KEYReportKey for actual X bin extent.static ConfigKey<java.lang.Double>XPHASE_KEYConfig key for X bin phase.static ConfigKey<BinSizer>YBINSIZER_KEYConfig key for Y bin size configuration.static ReportKey<java.lang.Double>YBINWIDTH_KEYReportKey for actual Y bin extent.static ConfigKey<java.lang.Double>YPHASE_KEYConfig key for Y bin phase.
-
Constructor Summary
Constructors Constructor Description GridPlotter(boolean transparent)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description PlotLayercreateLayer(DataGeom geom, DataSpec dataSpec, GridPlotter.GridStyle style)Creates a PlotLayer based on the given geometry, data and style.GridPlotter.GridStylecreateStyle(ConfigMap config)Creates a style that can be used when creating a plot layer.CoordGroupgetCoordGroup()Returns an object describing which data coordinates are used for this plotter and how they are arranged in supplied DataSpec objects.java.lang.StringgetPlotterDescription()Returns an XML description of this plotter.javax.swing.IcongetPlotterIcon()Returns an icon for this plotter for use in user interface.java.lang.StringgetPlotterName()Returns the name of this plotter for use in user interface.java.lang.ObjectgetRangeStyleKey(GridPlotter.GridStyle 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.booleanhasReports()Indicates whether the drawings produced by this plotter will return general interest report information to upstream plotting code.
-
-
-
Field Detail
-
XBINWIDTH_KEY
public static final ReportKey<java.lang.Double> XBINWIDTH_KEY
ReportKey for actual X bin extent.
-
YBINWIDTH_KEY
public static final ReportKey<java.lang.Double> YBINWIDTH_KEY
ReportKey for actual Y bin extent.
-
GRIDTABLE_KEY
public static final ReportKey<uk.ac.starlink.table.StarTable> GRIDTABLE_KEY
ReportKey for exported grid table.
-
XBINSIZER_KEY
public static final ConfigKey<BinSizer> XBINSIZER_KEY
Config key for X bin size configuration.
-
YBINSIZER_KEY
public static final ConfigKey<BinSizer> YBINSIZER_KEY
Config key for Y bin size configuration.
-
XPHASE_KEY
public static final ConfigKey<java.lang.Double> XPHASE_KEY
Config key for X bin phase.
-
YPHASE_KEY
public static final ConfigKey<java.lang.Double> YPHASE_KEY
Config key for Y bin phase.
-
TRANSPARENCY_KEY
public static final ConfigKey<java.lang.Double> TRANSPARENCY_KEY
-
-
Method Detail
-
getPlotterName
public java.lang.String getPlotterName()
Description copied from interface:PlotterReturns the name of this plotter for use in user interface.- Specified by:
getPlotterNamein interfacePlotter<GridPlotter.GridStyle>- Returns:
- user-directed plotter name
-
getPlotterIcon
public javax.swing.Icon getPlotterIcon()
Description copied from interface:PlotterReturns an icon for this plotter for use in user interface.- Specified by:
getPlotterIconin interfacePlotter<GridPlotter.GridStyle>- Returns:
- plotter icon
-
getCoordGroup
public CoordGroup getCoordGroup()
Description copied from interface:PlotterReturns an object describing which data coordinates are used for this plotter and how they are arranged in supplied DataSpec objects.- Specified by:
getCoordGroupin interfacePlotter<GridPlotter.GridStyle>- Returns:
- coordinate group
-
hasReports
public boolean hasReports()
Description copied from interface:PlotterIndicates whether the drawings produced by this plotter will return general interest report information to upstream plotting code.- Specified by:
hasReportsin interfacePlotter<GridPlotter.GridStyle>- Returns:
- true if the plot report may return interesting information
- See Also:
Drawing.getReport(java.lang.Object)
-
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.
- Specified by:
getPlotterDescriptionin interfacePlotter<GridPlotter.GridStyle>- 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.- Specified by:
getStyleKeysin interfacePlotter<GridPlotter.GridStyle>- Returns:
- keys used when creating a style for this plotter.
-
createStyle
public GridPlotter.GridStyle 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).- Specified by:
createStylein interfacePlotter<GridPlotter.GridStyle>- Parameters:
config- map of style configuration items- Returns:
- plotter-specific plot style
-
getRangeStyleKey
public java.lang.Object getRangeStyleKey(GridPlotter.GridStyle style)
Description copied from interface:PlotterReturns an opaque object characterising the region of the plot surface covered when using a given plotter style. If this object changes between layers produced by this plotter, it provides a hint that it may be necessary to redetermine the axis ranges (usingextendCoordinateRanges).In many cases, such as scatter-plot-like plotters, the range is determined only by the coordinate data (managed by
DataSpecinputs) 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.- Specified by:
getRangeStyleKeyin interfacePlotter<GridPlotter.GridStyle>- Parameters:
style- plot style to assess- Returns:
- opaque object with equality semantics, or null if axis range is not a function of style
-
createLayer
public PlotLayer createLayer(DataGeom geom, DataSpec dataSpec, GridPlotter.GridStyle 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.
- Specified by:
createLayerin interfacePlotter<GridPlotter.GridStyle>- 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
-
-