public class PlotGenerator<P,A>
extends java.lang.Object
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.
Constructor | Description |
---|---|
PlotGenerator(PlotLayer[] layers,
SurfaceFactory<P,A> surfFact,
P profile,
A aspect,
javax.swing.Icon legend,
float[] legPos,
java.lang.String title,
ShadeAxisFactory shadeFact,
Range shadeFixRange,
PaperTypeSelector ptSel,
Compositor compositor,
DataStore dataStore,
int xpix,
int ypix,
Padding padding) |
Constructor.
|
Modifier and Type | Method | Description |
---|---|---|
javax.swing.Icon |
createIcon(boolean forceBitmap) |
Returns a static icon that can be used to paint the plot.
|
PlotDisplay<P,A> |
createPlotDisplay(Navigator<A> navigator,
boolean surfaceAuxRange,
boolean cacheImage) |
Returns a JComponent containing a live plot.
|
void |
exportPlot(GraphicExporter exporter,
java.io.OutputStream out) |
Exports a plot to an output stream in a supported graphics format.
|
public PlotGenerator(PlotLayer[] layers, SurfaceFactory<P,A> surfFact, P profile, A aspect, javax.swing.Icon legend, float[] legPos, java.lang.String title, ShadeAxisFactory shadeFact, Range shadeFixRange, PaperTypeSelector ptSel, Compositor compositor, DataStore dataStore, int xpix, int ypix, Padding padding)
layers
- layers constituting plot contentsurfFact
- surface factoryprofile
- surface profileaspect
- initial surface aspect (may get changed by zooming etc)legend
- legend icon, or null if none requiredlegPos
- 2-element array giving x,y fractional legend placement
position within plot (elements in range 0..1),
or null for external legendtitle
- plot title, or null if not requiredshadeFact
- creates shader axis, or null if not requiredshadeFixRange
- fixed shader range,
or null for auto-range where 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 automaticallypublic PlotDisplay<P,A> createPlotDisplay(Navigator<A> navigator, boolean surfaceAuxRange, boolean cacheImage)
surfaceAuxRange
- determines whether aux ranges are recalculated
when the surface changesnavigator
- user gesture navigation controller,
or null for a non-interactive plotcacheImage
- if true, plot image will be cached where applicable,
if false it will be regenerated from data
on every repaintpublic void exportPlot(GraphicExporter exporter, java.io.OutputStream out) throws java.io.IOException
exporter
- defines a graphics output formatout
- destination stream;
this method buffers it, but doesn't close itjava.io.IOException
public javax.swing.Icon createIcon(boolean forceBitmap)
forceBitmap
- true iff the plot layers should be forced to
a pixel map grid rather than (perhaps) being drawn using
vector graphics; usually not necessaryCopyright © 2018 Central Laboratory of the Research Councils. All Rights Reserved.