Package adams.flow.sink
Class ControlChartPlot
-
- All Implemented Interfaces:
AdditionalInformationHandler
,CleanUpHandler
,Destroyable
,GlobalInfoSupporter
,LoggingLevelHandler
,LoggingSupporter
,OptionHandler
,QuickInfoSupporter
,ShallowCopySupporter<Actor>
,SizeOfHandler
,Stoppable
,StoppableWithFeedback
,VariablesInspectionHandler
,VariableChangeListener
,Actor
,ClearableDisplay
,DisplayTypeSupporter
,ErrorHandler
,InputConsumer
,ComponentSupplier
,MenuBarProvider
,SendToActionSupporter
,ColorProviderHandler
,Serializable
,Comparable
public class ControlChartPlot extends AbstractGraphicalDisplay implements ColorProviderHandler
Actor for generating control chart plots.
The plot needs to be initialized with a class adams.flow.container.ControlChartContainer. After that, individual numbers or arrays, depending on the control chart algorithm used, can be plotted. The last limits encountered (lower/center/upper) are used for all subsequent values. A vertical indicator is used to separate the data that was used for determining the limits and all subsequent data.
Input/output:
- accepts:
adams.flow.container.ControlChartContainer
java.lang.Double
java.lang.Float
java.lang.Integer
java.lang.Double[]
double[]
java.lang.Float[]
float[]
java.lang.Integer[]
int[]
Container information:
- adams.flow.container.ControlChartContainer: Algor, Chart, Data, Prepared, Limits
-logging-level <OFF|SEVERE|WARNING|INFO|CONFIG|FINE|FINER|FINEST> (property: loggingLevel) The logging level for outputting errors and debugging output. default: WARNING
-name <java.lang.String> (property: name) The name of the actor. default: ControlChartPlot
-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 gets stopped in case this actor encounters an error; useful for critical actors. default: false
-silent <boolean> (property: silent) If enabled, then no errors are output in the console. default: false
-short-title <boolean> (property: shortTitle) If enabled uses just the name for the title instead of the actor's full name. default: false
-display-in-editor <boolean> (property: displayInEditor) If enabled displays the panel in a tab in the flow editor rather than in a separate frame. default: false
-width <int> (property: width) The width of the dialog. default: 800 minimum: -1
-height <int> (property: height) The height of the dialog. default: 350 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
-violation-finder <adams.data.spc.ViolationFinder> (property: violationFinder) The algorithm for locating violations. default: adams.data.spc.NullViolations
-paintlet <adams.flow.sink.controlchartplot.AbstractControlChartPaintlet> (property: paintlet) The paintlet to use for painting the data. default: adams.flow.sink.controlchartplot.ChartPaintlet
-limit-paintlet <adams.flow.sink.controlchartplot.AbstractControlChartPaintlet> (property: limitPaintlet) The paintlet to use for painting the limits. default: adams.flow.sink.controlchartplot.LimitPaintlet
-separator-paintlet <adams.flow.sink.sequenceplotter.MarkerPaintlet> (property: separatorPaintlet) The paintlet to use for separating data used for initializing the limits and subsequent data. default: adams.flow.sink.sequenceplotter.VerticalMarkers
-mouse-click-action <adams.flow.sink.sequenceplotter.MouseClickAction> (property: mouseClickAction) The action to use for mouse clicks on the canvas. default: adams.flow.sink.sequenceplotter.NullClickAction
-color-provider <adams.gui.visualization.core.ColorProvider> (property: colorProvider) The color provider in use for generating the colors for the various plots. default: adams.gui.visualization.core.DefaultColorProvider
-title <java.lang.String> (property: title) The title for the border around the plot. default:
-axis-x <adams.gui.visualization.core.AxisPanelOptions> (property: axisX) The setup for the X axis. default: adams.gui.visualization.core.AxisPanelOptions -label sample -tick-generator \"adams.gui.visualization.core.axis.FancyTickGenerator -num-ticks 20\" -nth-value 1 -width 40 -top-margin 0.05 -bottom-margin 0.05 -custom-format 0
-axis-y <adams.gui.visualization.core.AxisPanelOptions> (property: axisY) The setup for the Y axis. default: adams.gui.visualization.core.AxisPanelOptions -label y -tick-generator adams.gui.visualization.core.axis.FancyTickGenerator -nth-value 2 -width 60 -top-margin 0.05 -bottom-margin 0.05 -custom-format 0.0
-post-processor <adams.flow.sink.sequenceplotter.AbstractSequencePostProcessor> (property: postProcessor) The post-processor to use on the sequences after a token has been added. default: adams.flow.sink.sequenceplotter.PassThrough
- Author:
- fracpete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected AxisPanelOptions
m_AxisX
the options for the X axis.protected AxisPanelOptions
m_AxisY
the options for the Y axis.protected ControlChart
m_Chart
the chart algorithm to use.protected String
m_ChartName
the chart name.protected ColorProvider
m_ColorProvider
the color provider to use.protected NamedCounter
m_Counter
for keeping track of the tokens.protected AbstractControlChartPaintlet
m_LimitPaintlet
the paintlet to use for painting the limits.protected Limits
m_Limits
the limits to use.protected MouseClickAction
m_MouseClickAction
the mouse click action.protected AbstractControlChartPaintlet
m_Paintlet
the paintlet to use for painting the chart data.protected AbstractSequencePostProcessor
m_PostProcessor
the post-processor for the sequences.protected MarkerPaintlet
m_SeparatorPaintlet
the paintlet to use for separating initialization data and subsequent data.protected String
m_Title
the title.protected ViolationFinder
m_ViolationFinder
for locating violations.-
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_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 ControlChartPlot()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Class[]
accepts()
Returns the class that the consumer accepts.String
axisXTipText()
Returns the tip text for this property.String
axisYTipText()
Returns the tip text for this property.void
clearPanel()
Clears the content of the panel.String
colorProviderTipText()
Returns the tip text for this property.void
defineOptions()
Adds options to the internal list of options.protected void
display(Token token)
Displays the token (the panel and dialog have already been created at this stage).AxisPanelOptions
getAxisX()
Returns the setup for the X axis.AxisPanelOptions
getAxisY()
Returns the setup for the Y axis.ColorProvider
getColorProvider()
Returns the color provider in use.protected AxisPanelOptions
getDefaultAxisX()
Returns the setup for the X axis.protected AxisPanelOptions
getDefaultAxisY()
Returns the setup for the Y axis.protected int
getDefaultHeight()
Returns the default height for the dialog.protected int
getDefaultWidth()
Returns the default width for the dialog.AbstractControlChartPaintlet
getLimitPaintlet()
Returns the paintlet to use for painting the limits.MouseClickAction
getMouseClickAction()
Returns the current mouse click action in use.AbstractControlChartPaintlet
getPaintlet()
Returns the paintlet to use.AbstractSequencePostProcessor
getPostProcessor()
Returns the limit on the number of data points per sequence.String
getQuickInfo()
Returns a quick info about the actor, which will be displayed in the GUI.MarkerPaintlet
getSeparatorPaintlet()
Returns the paintlet to use for separating intialization data and subsequent data.String
getTitle()
Returns the title for border around the plot.ViolationFinder
getViolationFinder()
Returns the algorithm for locating violations.String
globalInfo()
Returns a string describing the object.protected void
initialize()
Initializes the members.String
limitPaintletTipText()
Returns the tip text for this property.String
mouseClickActionTipText()
Returns the tip text for this property.protected BasePanel
newPanel()
Creates the panel to display in the dialog.String
paintletTipText()
Returns the tip text for this property.String
postProcessorTipText()
Returns the tip text for this property.protected void
reset()
Resets the actor.String
separatorPaintletTipText()
Returns the tip text for this property.void
setAxisX(AxisPanelOptions value)
Sets the setup for the X axis.void
setAxisY(AxisPanelOptions value)
Sets the setup for the Y axis.void
setColorProvider(ColorProvider value)
Sets the color provider to use.void
setLimitPaintlet(AbstractControlChartPaintlet value)
Sets the paintlet to use for painting the limits.void
setMouseClickAction(MouseClickAction value)
Sets the mouse click action to use.void
setPaintlet(AbstractControlChartPaintlet value)
Sets the paintlet to use.void
setPostProcessor(AbstractSequencePostProcessor value)
Sets the post-processor for the sequences.void
setSeparatorPaintlet(MarkerPaintlet value)
Sets the paintlet to use for separating intialization data and subsequent data.void
setTitle(String value)
Sets the title for border around the plot.void
setViolationFinder(ViolationFinder value)
Sets the algorithm for locating violations.boolean
supportsClear()
Whether "clear" is supported and shows up in the menu.String
titleTipText()
Returns the tip text for this property.String
violationFinderTipText()
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, supplyComponent, 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, closeFrame, createFrame, createTitle, currentInput, deregisterInWrapUp, deregisterWindow, deregisterWithEditor, displayTypeTipText, doCreateFrame, doExecute, getCreateFrame, getDefaultDisplayType, getDefaultShortTitle, getDefaultX, getDefaultY, getDisplayType, getFrame, getFrameDefaultCloseOperation, getHeight, getKeepOpen, getPanel, getShortTitle, getWidth, getX, getY, hasInput, heightTipText, input, postCreateFrame, preCreateFrame, registerWindow, registerWithEditor, restoreState, setCreateFrame, setDisplayType, setHeight, setKeepOpen, setShortTitle, setWidth, setX, setY, shortTitleTipText, stopExecution, 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
-
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_ViolationFinder
protected ViolationFinder m_ViolationFinder
for locating violations.
-
m_Paintlet
protected AbstractControlChartPaintlet m_Paintlet
the paintlet to use for painting the chart data.
-
m_LimitPaintlet
protected AbstractControlChartPaintlet m_LimitPaintlet
the paintlet to use for painting the limits.
-
m_SeparatorPaintlet
protected MarkerPaintlet m_SeparatorPaintlet
the paintlet to use for separating initialization data and subsequent data.
-
m_ColorProvider
protected ColorProvider m_ColorProvider
the color provider to use.
-
m_MouseClickAction
protected MouseClickAction m_MouseClickAction
the mouse click action.
-
m_Title
protected String m_Title
the title.
-
m_AxisX
protected AxisPanelOptions m_AxisX
the options for the X axis.
-
m_AxisY
protected AxisPanelOptions m_AxisY
the options for the Y axis.
-
m_PostProcessor
protected AbstractSequencePostProcessor m_PostProcessor
the post-processor for the sequences.
-
m_Chart
protected ControlChart m_Chart
the chart algorithm to use.
-
m_ChartName
protected String m_ChartName
the chart name.
-
m_Limits
protected Limits m_Limits
the limits to use.
-
m_Counter
protected NamedCounter m_Counter
for keeping track of the tokens.
-
-
Method Detail
-
globalInfo
public String globalInfo()
Returns a string describing the object.- Specified by:
globalInfo
in interfaceGlobalInfoSupporter
- Specified by:
globalInfo
in classAbstractOptionHandler
- Returns:
- a description suitable for displaying in the gui
-
defineOptions
public void defineOptions()
Adds options to the internal list of options.- Specified by:
defineOptions
in interfaceOptionHandler
- Overrides:
defineOptions
in classAbstractGraphicalDisplay
-
initialize
protected void initialize()
Initializes the members.- Overrides:
initialize
in classAbstractDisplay
-
reset
protected void reset()
Resets the actor.- Overrides:
reset
in classAbstractDisplay
-
getDefaultWidth
protected int getDefaultWidth()
Returns the default width for the dialog.- Overrides:
getDefaultWidth
in classAbstractDisplay
- Returns:
- the default width
-
getDefaultHeight
protected int getDefaultHeight()
Returns the default height for the dialog.- Overrides:
getDefaultHeight
in classAbstractDisplay
- Returns:
- the default height
-
setViolationFinder
public void setViolationFinder(ViolationFinder value)
Sets the algorithm for locating violations.- Parameters:
value
- the algorithm
-
getViolationFinder
public ViolationFinder getViolationFinder()
Returns the algorithm for locating violations.- Returns:
- the algorithm
-
violationFinderTipText
public String violationFinderTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setPaintlet
public void setPaintlet(AbstractControlChartPaintlet value)
Sets the paintlet to use.- Parameters:
value
- the paintlet
-
getPaintlet
public AbstractControlChartPaintlet getPaintlet()
Returns the paintlet to use.- Returns:
- the paintlet
-
paintletTipText
public String paintletTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setLimitPaintlet
public void setLimitPaintlet(AbstractControlChartPaintlet value)
Sets the paintlet to use for painting the limits.- Parameters:
value
- the paintlet
-
getLimitPaintlet
public AbstractControlChartPaintlet getLimitPaintlet()
Returns the paintlet to use for painting the limits.- Returns:
- the paintlet
-
limitPaintletTipText
public String limitPaintletTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setSeparatorPaintlet
public void setSeparatorPaintlet(MarkerPaintlet value)
Sets the paintlet to use for separating intialization data and subsequent data.- Parameters:
value
- the paintlet
-
getSeparatorPaintlet
public MarkerPaintlet getSeparatorPaintlet()
Returns the paintlet to use for separating intialization data and subsequent data.- Returns:
- the paintlet
-
separatorPaintletTipText
public String separatorPaintletTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setMouseClickAction
public void setMouseClickAction(MouseClickAction value)
Sets the mouse click action to use.- Parameters:
value
- the action
-
getMouseClickAction
public MouseClickAction getMouseClickAction()
Returns the current mouse click action in use.- Returns:
- the action
-
mouseClickActionTipText
public String mouseClickActionTipText()
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.- Specified by:
setColorProvider
in interfaceColorProviderHandler
- Parameters:
value
- the color provider
-
getColorProvider
public ColorProvider getColorProvider()
Returns the color provider in use.- Specified by:
getColorProvider
in interfaceColorProviderHandler
- Returns:
- the color provider
-
colorProviderTipText
public String colorProviderTipText()
Returns the tip text for this property.- Specified by:
colorProviderTipText
in interfaceColorProviderHandler
- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
getDefaultAxisX
protected AxisPanelOptions getDefaultAxisX()
Returns the setup for the X axis.- Returns:
- the setup
-
getDefaultAxisY
protected AxisPanelOptions getDefaultAxisY()
Returns the setup for the Y axis.- Returns:
- the setup
-
setAxisX
public void setAxisX(AxisPanelOptions value)
Sets the setup for the X axis.- Parameters:
value
- the setup
-
getAxisX
public AxisPanelOptions getAxisX()
Returns the setup for the X axis.- Returns:
- the setup
-
axisXTipText
public String axisXTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setAxisY
public void setAxisY(AxisPanelOptions value)
Sets the setup for the Y axis.- Parameters:
value
- the setup
-
getAxisY
public AxisPanelOptions getAxisY()
Returns the setup for the Y axis.- Returns:
- the setup
-
axisYTipText
public String axisYTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setTitle
public void setTitle(String value)
Sets the title for border around the plot.- Parameters:
value
- the title
-
getTitle
public String getTitle()
Returns the title for border around the plot.- Returns:
- the title
-
titleTipText
public String titleTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setPostProcessor
public void setPostProcessor(AbstractSequencePostProcessor value)
Sets the post-processor for the sequences.- Parameters:
value
- the post-processor
-
getPostProcessor
public AbstractSequencePostProcessor getPostProcessor()
Returns the limit on the number of data points per sequence.- Returns:
- the limit
-
postProcessorTipText
public String postProcessorTipText()
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:
getQuickInfo
in interfaceActor
- Specified by:
getQuickInfo
in interfaceQuickInfoSupporter
- Overrides:
getQuickInfo
in classAbstractDisplay
- Returns:
- null if no info available, otherwise short string
-
supportsClear
public boolean supportsClear()
Whether "clear" is supported and shows up in the menu.- Specified by:
supportsClear
in interfaceClearableDisplay
- Overrides:
supportsClear
in classAbstractGraphicalDisplay
- Returns:
- true if supported
-
clearPanel
public void clearPanel()
Clears the content of the panel.- Specified by:
clearPanel
in classAbstractDisplay
-
newPanel
protected BasePanel newPanel()
Creates the panel to display in the dialog.- Specified by:
newPanel
in classAbstractDisplay
- Returns:
- the panel
-
accepts
public Class[] accepts()
Returns the class that the consumer accepts.- Specified by:
accepts
in interfaceInputConsumer
- Returns:
- the classes
-
display
protected void display(Token token)
Displays the token (the panel and dialog have already been created at this stage).- Specified by:
display
in classAbstractDisplay
- Parameters:
token
- the token to display
-
-