Class FunctionPlotter
- java.lang.Object
-
- uk.ac.starlink.ttools.plot2.layer.AbstractPlotter<FunctionPlotter.FunctionStyle>
-
- uk.ac.starlink.ttools.plot2.layer.FunctionPlotter
-
- All Implemented Interfaces:
Plotter<FunctionPlotter.FunctionStyle>
public class FunctionPlotter extends AbstractPlotter<FunctionPlotter.FunctionStyle>
Dataless plotter that plots an analytic function. JEL expressions are supplied to define the function. The geometry is parameterised by theFunctionPlotter.FuncAxisinterface, which in principle allows functions of any geometric variable to be specified.- Since:
- 15 Feb 2013
- Author:
- Mark Taylor
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceFunctionPlotter.FuncAxisDefines the geometric role of the dependent and independent variables for a function.static classFunctionPlotter.FunctionStyleStyle class associated with this plotter.
-
Field Summary
Fields Modifier and Type Field Description static ConfigKey<java.lang.String>FEXPR_KEYConfig key for the function expression.static FunctionPlotterPLANEFunctionPlotter instance for a 2-d plotting surface.static ConfigKey<java.lang.String>XNAME_KEYConfig key for the independent variable name.
-
Constructor Summary
Constructors Constructor Description FunctionPlotter(FunctionPlotter.FuncAxis[] axes)Constructs a plotter with a given set of axis geometry options.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description PlotLayercreateLayer(DataGeom geom, DataSpec dataSpec, FunctionPlotter.FunctionStyle style)Creates a PlotLayer based on the given geometry, data and style.FunctionPlotter.FunctionStylecreateStyle(ConfigMap config)Creates a style that can be used when creating a plot layer.ConfigKey<?>[]getFunctionStyleKeys()Returns the subset of the style keys which defines the function itself.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
-
PLANE
public static final FunctionPlotter PLANE
FunctionPlotter instance for a 2-d plotting surface.
-
XNAME_KEY
public static final ConfigKey<java.lang.String> XNAME_KEY
Config key for the independent variable name.
-
FEXPR_KEY
public static final ConfigKey<java.lang.String> FEXPR_KEY
Config key for the function expression.
-
-
Constructor Detail
-
FunctionPlotter
public FunctionPlotter(FunctionPlotter.FuncAxis[] axes)
Constructs a plotter with a given set of axis geometry options.- Parameters:
axes- options for function variable definitions
-
-
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.
-
getFunctionStyleKeys
public ConfigKey<?>[] getFunctionStyleKeys()
Returns the subset of the style keys which defines the function itself.- Returns:
- style keys for function definition
-
createStyle
public FunctionPlotter.FunctionStyle createStyle(ConfigMap config) throws ConfigException
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
- Throws:
ConfigException
-
createLayer
public PlotLayer createLayer(DataGeom geom, DataSpec dataSpec, FunctionPlotter.FunctionStyle 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
-
-