Package uk.ac.starlink.ttools.example
Class PlotGenerator<P,A>
java.lang.Object
uk.ac.starlink.ttools.example.PlotGenerator<P,A>
Convenience class for generating plots.
This allows you to set up the basic parameters of a plot, and use
the same object to construct either a JComponent for live display,
or a static Icon, or to export the graphics to a file in a graphic
file format.
Although this class gives quite a lot of configurability, there are some options it does not provide, for instance related to the details of autoranging plot limits based on the data. To take full advantage of these, you can go back to the lower-level API taking the implementations here as a starting point.
- Since:
- 27 Jun 2014
- Author:
- Mark Taylor
-
Constructor Summary
ConstructorsConstructorDescriptionPlotGenerator
(SurfaceFactory<P, A> surfFact, ZoneContent<P, A> content, Trimming trimming, ShadeAxisKit shadeKit, PaperTypeSelector ptSel, Compositor compositor, DataStore dataStore, int xpix, int ypix, Padding padding) Constructor. -
Method Summary
Modifier and TypeMethodDescriptioncreateIcon
(boolean forceBitmap) Returns a static icon that can be used to paint the plot.createPlotDisplay
(Navigator<A> navigator, boolean surfaceAuxRange, boolean cacheImage) Returns a JComponent containing a live plot.void
exportPlot
(GraphicExporter exporter, OutputStream out) Exports a plot to an output stream in a supported graphics format.
-
Constructor Details
-
PlotGenerator
public PlotGenerator(SurfaceFactory<P, A> surfFact, ZoneContent<P, A> content, Trimming trimming, ShadeAxisKit shadeKit, PaperTypeSelector ptSel, Compositor compositor, DataStore dataStore, int xpix, int ypix, Padding padding) Constructor.- Parameters:
surfFact
- surface factorycontent
- layer content of plottrimming
- specification of additional decorationsshadeKit
- specifies shader axis, or null if not requiredptSel
- paper type selectorcompositor
- compositor for pixel compositiondataStore
- data storage objectxpix
- initial horizontal size in pixels (may get changed by window resizing)ypix
- initial vertical size in pixels (may get changed by window resizing)padding
- requirements for extent of region outside plot data box to contain axis labels etc; may be null or parts may be blank; those requirements not specified will be calculated automatically
-
-
Method Details
-
exportPlot
Exports a plot to an output stream in a supported graphics format.- Parameters:
exporter
- defines a graphics output formatout
- destination stream; this method buffers it, but doesn't close it- Throws:
IOException
-
createIcon
Returns a static icon that can be used to paint the plot. The assumption is that the plot will only be painted once; the image is not cached for repeated painting.- Parameters:
forceBitmap
- true iff the plot layers should be forced to a pixel map grid rather than (perhaps) being drawn using vector graphics; usually not necessary- Returns:
- icon to paint plot; it may be painted in a headless context