Package adams.flow.sink
Class JFreeChartPlot
-
- All Implemented Interfaces:
AdditionalInformationHandler,CleanUpHandler,Destroyable,GlobalInfoSupporter,LoggingLevelHandler,LoggingSupporter,OptionHandler,QuickInfoSupporter,ShallowCopySupporter<Actor>,SizeOfHandler,Stoppable,StoppableWithFeedback,VariablesInspectionHandler,VariableChangeListener,Actor,ClearableDisplay,DisplayTypeSupporter,ErrorHandler,FlowControlSubMenuSupporter,HeadlessExecutionSupporter,InputConsumer,ComponentSupplier,DisplayPanelProvider,MenuBarProvider,SendToActionSupporter,ColorProviderHandler,Serializable,Comparable
public class JFreeChartPlot extends AbstractGraphicalDisplay implements DisplayPanelProvider, ColorProviderHandler
Generates and displays a plot using JFreeChart.Dataset generation is skipped if the incoming data already represents a JFreeChart dataset.
Input/output:
- accepts:
adams.data.spreadsheet.SpreadSheet
org.jfree.data.general.Dataset
-logging-level <OFF|SEVERE|WARNING|INFO|CONFIG|FINE|FINER|FINEST> (property: loggingLevel) The logging level for outputting errors and debugging output. default: WARNING min-user-mode: Expert
-name <java.lang.String> (property: name) The name of the actor. default: JFreeChartPlot
-annotation <adams.core.base.BaseAnnotation> (property: annotations) The annotations to attach to this actor. default:
-skip <boolean> (property: skip) If set to true, transformation is skipped and the input token is just forwarded as it is. default: false
-stop-flow-on-error <boolean> (property: stopFlowOnError) If set to true, the flow execution at this level gets stopped in case this actor encounters an error; the error gets propagated; useful for critical actors. default: false min-user-mode: Expert
-silent <boolean> (property: silent) If enabled, then no errors are output in the console; Note: the enclosing actor handler must have this enabled as well. default: false min-user-mode: Expert
-short-title <boolean> (property: shortTitle) If enabled uses just the name for the title instead of the actor's full name. default: false
-display-type <adams.flow.core.displaytype.AbstractDisplayType> (property: displayType) Determines how to show the display, eg as standalone frame (default) or in the Flow editor window. default: adams.flow.core.displaytype.Default min-user-mode: Expert
-width <int> (property: width) The width of the dialog. default: 800 minimum: -1
-height <int> (property: height) The height of the dialog. default: 600 minimum: -1
-x <int> (property: x) The X position of the dialog (>=0: absolute, -1: left, -2: center, -3: right ). default: -1 minimum: -3
-y <int> (property: y) The Y position of the dialog (>=0: absolute, -1: top, -2: center, -3: bottom ). default: -1 minimum: -3
-writer <adams.gui.print.JComponentWriter> (property: writer) The writer to use for generating the graphics output. default: adams.gui.print.NullWriter
-show-flow-control-submenu <boolean> (property: showFlowControlSubMenu) If enabled, adds a flow control sub-menu to the menubar. default: false min-user-mode: Expert
-dataset <adams.gui.visualization.jfreechart.dataset.AbstractDatasetGenerator> (property: dataset) The dataset generator to use. default: adams.gui.visualization.jfreechart.dataset.DefaultXY
-chart <adams.gui.visualization.jfreechart.chart.AbstractChartGenerator> (property: chart) The chart generator to use. default: adams.gui.visualization.jfreechart.chart.XYLineChart
-shape <adams.gui.visualization.jfreechart.shape.AbstractShapeGenerator> (property: shape) The shape generator to use for the data point markers for XY charts. default: adams.gui.visualization.jfreechart.shape.Default
-background-color <java.awt.Color> (property: backgroundColor) The background color for the plot. default: #ffffff
-plot-color <java.awt.Color> (property: plotColor) The color for the plot of XY charts. default: #0000ff
-color-provider <adams.gui.visualization.core.ColorProvider> (property: colorProvider) The color provider to use for XY charts. default: adams.gui.visualization.core.DefaultColorProvider
-diagonal-color <java.awt.Color> (property: diagonalColor) The color for the diagonal (ie second data series if present) of XY charts. default: #000000
-watermark <adams.gui.visualization.watermark.Watermark> (property: watermark) The watermark to use for painting the data. default: adams.gui.visualization.watermark.Default
- Author:
- FracPete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected Colorm_BackgroundColorthe background color.protected AbstractChartGeneratorm_Chartthe chart generator.protected ColorProviderm_ColorProviderthe color provider for generating the colors (if more than one series).protected AbstractDatasetGeneratorm_Datasetthe dataset generator.protected Colorm_DiagonalColorthe color for the diagonal plot.protected org.jfree.chart.JFreeChartm_JFreeChartthe generated chart.protected Colorm_PlotColorthe color for the plot.protected org.jfree.chart.ChartPanelm_PlotPanelthe chart panel.protected AbstractShapeGeneratorm_Shapethe shape generator.protected Watermarkm_Watermarkthe watermark to use.-
Fields inherited from class adams.flow.sink.AbstractGraphicalDisplay
m_GraphicFileChooser, m_MenuBar, m_MenuItemFileClear, m_MenuItemFileClose, m_MenuItemFileSaveAs, m_MenuItemFileSaveTextAs, m_MenuItemFlowPauseResume, m_MenuItemFlowStop, m_ShowFlowControlSubMenu, m_TextFileChooser, m_Writer
-
Fields inherited from class adams.flow.core.AbstractDisplay
BACKUP_INPUT, m_CreateFrame, m_DisplayType, m_Frame, m_Height, m_InputToken, m_KeepOpen, m_Panel, m_ResetGUIWaiting, m_ShortTitle, m_Updating, m_Width, m_X, m_Y
-
Fields inherited from class adams.flow.core.AbstractActor
m_Annotations, m_BackupState, m_DetectedObjectVariables, m_DetectedVariables, m_ErrorHandler, m_Executed, m_Executing, m_ExecutionListeningSupporter, m_FullName, m_LoggingPrefix, m_Name, m_Parent, m_ScopeHandler, m_Self, m_Silent, m_Skip, m_StopFlowOnError, m_StopMessage, m_Stopped, m_StorageHandler, m_VariablesUpdated
-
Fields inherited from class adams.core.option.AbstractOptionHandler
m_OptionManager
-
Fields inherited from class adams.core.logging.LoggingObject
m_Logger, m_LoggingIsEnabled, m_LoggingLevel
-
Fields inherited from interface adams.flow.core.Actor
FILE_EXTENSION, FILE_EXTENSION_GZ
-
-
Constructor Summary
Constructors Constructor Description JFreeChartPlot()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Class[]accepts()Returns the class that the consumer accepts.StringbackgroundColorTipText()Returns the tip text for this property.StringchartTipText()Returns the tip text for this property.voidclearPanel()Clears the content of the panel.StringcolorProviderTipText()Returns the tip text for this property.DisplayPanelcreateDisplayPanel(Token token)Creates a new display panel for the token.StringdatasetTipText()Returns the tip text for this property.voiddefineOptions()Adds options to the internal list of options.StringdiagonalColorTipText()Returns the tip text for this property.protected voiddisplay(Token token)Displays the token (the panel and dialog have already been created at this stage).booleandisplayPanelRequiresScrollPane()Returns whether the created display panel requires a scroll pane or not.ColorgetBackgroundColor()Returns the background color for the plot.AbstractChartGeneratorgetChart()Returns the chart generator.ColorProvidergetColorProvider()Returns the color provider to use for XY charts.AbstractDatasetGeneratorgetDataset()Returns the dataset generator.ColorgetDiagonalColor()Returns the color for the diagonal (ie second data series if present) of XY charts.ColorgetPlotColor()Returns the color for the plot of XY charts.StringgetQuickInfo()Returns a quick info about the actor, which will be displayed in the GUI.AbstractShapeGeneratorgetShape()Returns the shape generator for XY charts.WatermarkgetWatermark()Returns the watermark to use.StringglobalInfo()Returns a string describing the object.protected BasePanelnewPanel()Creates the panel to display in the dialog.StringplotColorTipText()Returns the tip text for this property.voidsetBackgroundColor(Color value)Sets the background color for the plot.voidsetChart(AbstractChartGenerator value)Sets the chart generator.voidsetColorProvider(ColorProvider value)Sets the color provider to use for XY charts.voidsetDataset(AbstractDatasetGenerator value)Sets the dataset generator.voidsetDiagonalColor(Color value)Sets the color for the diagonal (ie second data series if present) of XY charts.voidsetPlotColor(Color value)Sets the color for the plot of XY charts.voidsetShape(AbstractShapeGenerator value)Sets the shape generator for XY charts.voidsetWatermark(Watermark value)Sets the watermark to use.StringshapeTipText()Returns the tip text for this property.JComponentsupplyComponent()Returns the current component.booleansupportsClear()Whether "clear" is supported and shows up in the menu.StringwatermarkTipText()Returns the tip text for this property.-
Methods inherited from class adams.flow.sink.AbstractGraphicalDisplay
canPauseOrResume, cleanUpGUI, clear, close, createMenuBar, getGraphicFileChooser, getMenuBar, getSendToClasses, getSendToItem, getShowFlowControlSubMenu, getTextFileChooser, getWriter, hasPanel, hasSendToItem, isPaused, pauseResumeFlow, saveAs, saveTextAs, setShowFlowControlSubMenu, setWriter, showFlowControlSubMenuTipText, stopFlow, updateMenu, wrapUp, writerTipText
-
Methods inherited from class adams.flow.sink.AbstractDisplay
newDisplayRunnable, postDisplay, preDisplay
-
Methods inherited from class adams.flow.core.AbstractDisplay
backupState, cleanUp, cleanUpGUIKeepOpen, closeDisplay, createFrame, createTitle, currentInput, deregisterInWrapUp, deregisterWindow, deregisterWithEditor, displayTypeTipText, doCreateFrame, doExecute, doExecuteHeadless, getCreateFrame, getDefaultDisplayType, getDefaultHeight, getDefaultShortTitle, getDefaultWidth, getDefaultX, getDefaultY, getDisplayType, getFrame, getFrameDefaultCloseOperation, getHeight, getKeepOpen, getPanel, getShortTitle, getWidth, getX, getY, hasInput, heightTipText, initialize, input, postCreateFrame, preCreateFrame, registerWindow, registerWithEditor, reset, restoreState, setCreateFrame, setDisplayType, setHeight, setKeepOpen, setShortTitle, setWidth, setX, setY, shortTitleTipText, stopExecution, supportsHeadlessExecution, widthTipText, xTipText, yTipText
-
Methods inherited from class adams.flow.core.AbstractActor
annotationsTipText, canInspectOptions, canPerformSetUpCheck, compareTo, configureLogger, destroy, equals, execute, finalUpdateVariables, findVariables, findVariables, forceVariables, forCommandLine, forName, forName, getAdditionalInformation, getAnnotations, getDefaultName, getDetectedVariables, getErrorHandler, getFlowActors, getFlowExecutionListeningSupporter, getFullName, getName, getNextSibling, getParent, getParentComponent, getPreviousSibling, getRoot, getScopeHandler, getSilent, getSkip, getStopFlowOnError, getStopMessage, getStorageHandler, getVariables, handleError, handleException, hasErrorHandler, hasStopMessage, index, isBackedUp, isExecuted, isExecuting, isFinished, isHeadless, isStopped, nameTipText, performSetUpChecks, performVariableChecks, postExecute, preExecute, pruneBackup, pruneBackup, setAnnotations, setErrorHandler, setName, setParent, setSilent, setSkip, setStopFlowOnError, setUp, setVariables, shallowCopy, shallowCopy, silentTipText, sizeOf, skipTipText, stopExecution, stopFlowOnErrorTipText, updateDetectedVariables, updatePrefix, updateVariables, variableChanged
-
Methods inherited from class adams.core.option.AbstractOptionHandler
cleanUpOptions, finishInit, getDefaultLoggingLevel, getOptionManager, loggingLevelTipText, newOptionManager, setLoggingLevel, toCommandLine, toString
-
Methods inherited from class adams.core.logging.LoggingObject
getLogger, getLoggingLevel, initializeLogging, isLoggingEnabled
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface adams.flow.core.Actor
cleanUp, compareTo, destroy, equals, execute, findVariables, getAnnotations, getDefaultName, getDetectedVariables, getErrorHandler, getFlowExecutionListeningSupporter, getFullName, getName, getNextSibling, getParent, getParentComponent, getPreviousSibling, getRoot, getScopeHandler, getSilent, getSkip, getStopFlowOnError, getStopMessage, getStorageHandler, getVariables, handleError, hasErrorHandler, hasStopMessage, index, isExecuted, isFinished, isHeadless, isStopped, setAnnotations, setErrorHandler, setName, setParent, setSilent, setSkip, setStopFlowOnError, setUp, setVariables, shallowCopy, shallowCopy, sizeOf, stopExecution, stopExecution, toCommandLine, variableChanged, wrapUp
-
Methods inherited from interface adams.core.AdditionalInformationHandler
getAdditionalInformation
-
Methods inherited from interface adams.flow.core.InputConsumer
currentInput, hasInput, input
-
Methods inherited from interface adams.core.logging.LoggingLevelHandler
getLoggingLevel, setLoggingLevel
-
Methods inherited from interface adams.core.logging.LoggingSupporter
getLogger, isLoggingEnabled
-
Methods inherited from interface adams.core.option.OptionHandler
cleanUpOptions, getOptionManager
-
Methods inherited from interface adams.core.VariablesInspectionHandler
canInspectOptions
-
-
-
-
Field Detail
-
m_Dataset
protected AbstractDatasetGenerator m_Dataset
the dataset generator.
-
m_Chart
protected AbstractChartGenerator m_Chart
the chart generator.
-
m_Shape
protected AbstractShapeGenerator m_Shape
the shape generator.
-
m_BackgroundColor
protected Color m_BackgroundColor
the background color.
-
m_PlotColor
protected Color m_PlotColor
the color for the plot.
-
m_ColorProvider
protected ColorProvider m_ColorProvider
the color provider for generating the colors (if more than one series).
-
m_DiagonalColor
protected Color m_DiagonalColor
the color for the diagonal plot.
-
m_Watermark
protected Watermark m_Watermark
the watermark to use.
-
m_JFreeChart
protected org.jfree.chart.JFreeChart m_JFreeChart
the generated chart.
-
m_PlotPanel
protected org.jfree.chart.ChartPanel m_PlotPanel
the chart panel.
-
-
Method Detail
-
globalInfo
public String globalInfo()
Returns a string describing the object.- Specified by:
globalInfoin interfaceGlobalInfoSupporter- Specified by:
globalInfoin classAbstractOptionHandler- Returns:
- a description suitable for displaying in the gui
-
defineOptions
public void defineOptions()
Adds options to the internal list of options.- Specified by:
defineOptionsin interfaceOptionHandler- Overrides:
defineOptionsin classAbstractGraphicalDisplay
-
setDataset
public void setDataset(AbstractDatasetGenerator value)
Sets the dataset generator.- Parameters:
value- the generator
-
getDataset
public AbstractDatasetGenerator getDataset()
Returns the dataset generator.- Returns:
- the generator
-
datasetTipText
public String datasetTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setChart
public void setChart(AbstractChartGenerator value)
Sets the chart generator.- Parameters:
value- the generator
-
getChart
public AbstractChartGenerator getChart()
Returns the chart generator.- Returns:
- the generator
-
chartTipText
public String chartTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setShape
public void setShape(AbstractShapeGenerator value)
Sets the shape generator for XY charts.- Parameters:
value- the generator
-
getShape
public AbstractShapeGenerator getShape()
Returns the shape generator for XY charts.- Returns:
- the generator
-
shapeTipText
public String shapeTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setBackgroundColor
public void setBackgroundColor(Color value)
Sets the background color for the plot.- Parameters:
value- the color
-
getBackgroundColor
public Color getBackgroundColor()
Returns the background color for the plot.- Returns:
- the color
-
backgroundColorTipText
public String backgroundColorTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setPlotColor
public void setPlotColor(Color value)
Sets the color for the plot of XY charts.- Parameters:
value- the color
-
getPlotColor
public Color getPlotColor()
Returns the color for the plot of XY charts.- Returns:
- the color
-
plotColorTipText
public String plotColorTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setColorProvider
public void setColorProvider(ColorProvider value)
Sets the color provider to use for XY charts.- Specified by:
setColorProviderin interfaceColorProviderHandler- Parameters:
value- the color provider
-
getColorProvider
public ColorProvider getColorProvider()
Returns the color provider to use for XY charts.- Specified by:
getColorProviderin interfaceColorProviderHandler- Returns:
- the color provider
-
colorProviderTipText
public String colorProviderTipText()
Returns the tip text for this property.- Specified by:
colorProviderTipTextin interfaceColorProviderHandler- Returns:
- tip text for this property suitable for displaying in the gui
-
setDiagonalColor
public void setDiagonalColor(Color value)
Sets the color for the diagonal (ie second data series if present) of XY charts.- Parameters:
value- the color
-
getDiagonalColor
public Color getDiagonalColor()
Returns the color for the diagonal (ie second data series if present) of XY charts.- Returns:
- the color
-
diagonalColorTipText
public String diagonalColorTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setWatermark
public void setWatermark(Watermark value)
Sets the watermark to use.- Parameters:
value- the watermark
-
getWatermark
public Watermark getWatermark()
Returns the watermark to use.- Returns:
- the watermark
-
watermarkTipText
public String watermarkTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
getQuickInfo
public String getQuickInfo()
Returns a quick info about the actor, which will be displayed in the GUI.- Specified by:
getQuickInfoin interfaceActor- Specified by:
getQuickInfoin interfaceQuickInfoSupporter- Overrides:
getQuickInfoin classAbstractDisplay- Returns:
- null if no info available, otherwise short string
-
accepts
public Class[] accepts()
Returns the class that the consumer accepts.- Specified by:
acceptsin interfaceInputConsumer- Returns:
- the Class of objects that can be processed
-
display
protected void display(Token token)
Displays the token (the panel and dialog have already been created at this stage).- Specified by:
displayin classAbstractDisplay- Parameters:
token- the token to display
-
supportsClear
public boolean supportsClear()
Whether "clear" is supported and shows up in the menu.- Specified by:
supportsClearin interfaceClearableDisplay- Overrides:
supportsClearin classAbstractGraphicalDisplay- Returns:
- true if supported
-
clearPanel
public void clearPanel()
Clears the content of the panel.- Specified by:
clearPanelin classAbstractDisplay
-
newPanel
protected BasePanel newPanel()
Creates the panel to display in the dialog.- Specified by:
newPanelin classAbstractDisplay- Returns:
- the panel
-
supplyComponent
public JComponent supplyComponent()
Returns the current component.- Specified by:
supplyComponentin interfaceComponentSupplier- Overrides:
supplyComponentin classAbstractGraphicalDisplay- Returns:
- the current component, can be null
-
createDisplayPanel
public DisplayPanel createDisplayPanel(Token token)
Creates a new display panel for the token.- Specified by:
createDisplayPanelin interfaceDisplayPanelProvider- Parameters:
token- the token to display in a new panel, can be null- Returns:
- the generated panel
-
displayPanelRequiresScrollPane
public boolean displayPanelRequiresScrollPane()
Returns whether the created display panel requires a scroll pane or not.- Specified by:
displayPanelRequiresScrollPanein interfaceDisplayPanelProvider- Returns:
- true if the display panel requires a scroll pane
-
-