Class SequencePlotter

  • All Implemented Interfaces:
    AdditionalInformationHandler, ClassCrossReference, CleanUpHandler, CrossReference, Destroyable, GlobalInfoSupporter, FileWriter, LoggingLevelHandler, LoggingSupporter, OptionHandler, QuickInfoSupporter, ShallowCopySupporter<Actor>, SizeOfHandler, Stoppable, StoppableWithFeedback, TextSupporter, VariablesInspectionHandler, VariableChangeListener, Actor, ClearableDisplay, DataPlotUpdaterHandler<AbstractPlotUpdater>, DataPlotUpdaterSupporter<AbstractPlotUpdater>, DisplayTypeSupporter, ErrorHandler, InputConsumer, ComponentSupplier, DisplayPanelProvider, TextSupplier, MenuBarProvider, SendToActionSupporter, ColorProviderHandler, Serializable, Comparable

    public class SequencePlotter
    extends AbstractGraphicalDisplay
    implements DisplayPanelProvider, FileWriter, ClassCrossReference, DataPlotUpdaterHandler<AbstractPlotUpdater>, TextSupplier, ColorProviderHandler
    Actor that plots sequences over time.

    See also:
    adams.flow.sink.SimplePlot

    Input/output:
    - accepts:
       adams.flow.container.SequencePlotterContainer
       adams.flow.container.SequencePlotterContainer[]


    Container information:
    - adams.flow.container.SequencePlotterContainer: PlotName, X, Y, Content type, Error X, Error Y, MetaData

    -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: SequencePlotter
     
    -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
     
    -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
     
    -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
     
    -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
     
    -comparison <X|Y|X_AND_Y> (property: comparisonType)
        The type of comparison to use for the data points of the sequence.
        default: X
     
    -meta-data-key <java.lang.String> (property: metaDataKey)
        The optional meta-data key to use for comparing data points (apart from
        X/Y).
        default:
     
    -paintlet <adams.gui.visualization.sequence.XYSequencePaintlet> (property: paintlet)
        The paintlet to use for painting the data.
        default: adams.gui.visualization.sequence.CirclePaintlet -meta-data-color adams.gui.visualization.sequence.metadatacolor.Dummy
     
    -overlay-paintlet <adams.gui.visualization.sequence.XYSequencePaintlet> (property: overlayPaintlet)
        The paintlet to use for painting the overlay data (if any).
        default: adams.gui.visualization.sequence.NullPaintlet
     
    -marker-paintlet <adams.flow.sink.sequenceplotter.MarkerPaintlet> (property: markerPaintlet)
        The marker paintlet to use for painting marker overlays.
        default: adams.flow.sink.sequenceplotter.NoMarkers
     
    -error-paintlet <adams.flow.sink.sequenceplotter.AbstractErrorPaintlet> (property: errorPaintlet)
        The paintlet to use for painting error overlays.
        default: adams.flow.sink.sequenceplotter.NoErrorPaintlet
     
    -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
     
    -overlay-color-provider <adams.gui.visualization.core.ColorProvider> (property: overlayColorProvider)
        The color provider in use for generating the colors for the overlay plots.
        default: adams.gui.visualization.core.DefaultColorProvider
     
    -title <java.lang.String> (property: title)
        The title for the border around the plot.
        default: Plot
     
    -axis-x <adams.gui.visualization.core.AxisPanelOptions> (property: axisX)
        The setup for the X axis.
        default: adams.gui.visualization.core.AxisPanelOptions -label x -tick-generator \"adams.gui.visualization.core.axis.SimpleTickGenerator -num-ticks 20\" -width 40
     
    -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.SimpleTickGenerator -width 60
     
    -adjust-to-visible-data <boolean> (property: adjustToVisibleData)
        If enabled, the plot is adjusted to fit the visible data and not all loaded
        data.
        default: true
     
    -show-side-panel <boolean> (property: showSidePanel)
        If enabled, the side panel with the plot names is visible.
        default: true
     
    -side-panel-width <int> (property: sidePanelWidth)
        The width of the side panel (if visible).
        default: 150
        minimum: 1
     
    -no-tool-tips <boolean> (property: noToolTips)
        If enabled, the tool tips of the plot get suppressed.
        default: false
     
    -plot-updater <adams.flow.sink.sequenceplotter.AbstractPlotUpdater> (property: plotUpdater)
        The updating strategy for the plot.
        default: adams.flow.sink.sequenceplotter.SimplePlotUpdater
     
    -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
     
    -output <adams.core.io.PlaceholderFile> (property: outputFile)
        The file to write the plot containers to (in CSV format); does not store
        the meta-data, as it can change from container to container; ignored if
        pointing to a directory.
        default: ${CWD}
     
    Author:
    fracpete (fracpete at waikato dot ac dot nz)
    See Also:
    Serialized Form
    • Field Detail

      • m_MetaDataKey

        protected String m_MetaDataKey
        an optional meta-data key to use in the comparison of the data points.
      • m_Paintlet

        protected XYSequencePaintlet m_Paintlet
        the paintlet to use for painting the XY data.
      • m_OverlayPaintlet

        protected XYSequencePaintlet m_OverlayPaintlet
        the overlay paintlet to use for painting the overlays.
      • m_MarkerPaintlet

        protected MarkerPaintlet m_MarkerPaintlet
        the paintlet to use for painting markers.
      • m_ErrorPaintlet

        protected AbstractErrorPaintlet m_ErrorPaintlet
        the paintlet to use for painting errors.
      • m_ColorProvider

        protected ColorProvider m_ColorProvider
        the color provider to use.
      • m_OverlayColorProvider

        protected ColorProvider m_OverlayColorProvider
        the color provider to use for the overlays.
      • m_MouseClickAction

        protected MouseClickAction m_MouseClickAction
        the mouse click action.
      • m_Title

        protected String m_Title
        the title.
      • m_AdjustToVisibleData

        protected boolean m_AdjustToVisibleData
        whether to adjust to visible or loaded data.
      • m_ShowSidePanel

        protected boolean m_ShowSidePanel
        whether to show the side panel.
      • m_SidePanelWidth

        protected int m_SidePanelWidth
        the width of the side panel.
      • m_NoToolTips

        protected boolean m_NoToolTips
        whether to suppress the tooltips.
      • m_Counter

        protected NamedCounter m_Counter
        for keeping track of the tokens.
      • m_OutputFile

        protected PlaceholderFile m_OutputFile
        the file to save the plot containers to.
      • m_UseOutputFile

        protected Boolean m_UseOutputFile
        whether to use an output file.
    • Constructor Detail

      • SequencePlotter

        public SequencePlotter()
    • Method Detail

      • getDefaultWidth

        protected int getDefaultWidth()
        Returns the default width for the dialog.
        Overrides:
        getDefaultWidth in class AbstractDisplay
        Returns:
        the default width
      • getDefaultHeight

        protected int getDefaultHeight()
        Returns the default height for the dialog.
        Overrides:
        getDefaultHeight in class AbstractDisplay
        Returns:
        the default height
      • setComparisonType

        public void setComparisonType​(XYSequencePointComparator.Comparison value)
        Sets the type of comparison to use for the X/Y points.
        Parameters:
        value - the type of comparison to use
      • getComparisonType

        public XYSequencePointComparator.Comparison getComparisonType()
        Returns the type of comparison currently in use for the X/Y points.
        Returns:
        the type of comparison
      • comparisonTypeTipText

        public String comparisonTypeTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setMetaDataKey

        public void setMetaDataKey​(String value)
        Sets the optional meta-data key to use for comparing data points.
        Parameters:
        value - the key, ignored in comparison if empty
      • getMetaDataKey

        public String getMetaDataKey()
        Returns the optional meta-data key to use for comparing data points.
        Returns:
        the key, ignored in comparison if empty
      • metaDataKeyTipText

        public String metaDataKeyTipText()
        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​(XYSequencePaintlet value)
        Sets the paintlet to use.
        Parameters:
        value - the paintlet
      • getPaintlet

        public XYSequencePaintlet 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.
      • setOverlayPaintlet

        public void setOverlayPaintlet​(XYSequencePaintlet value)
        Sets the overlay paintlet to use.
        Parameters:
        value - the paintlet
      • getOverlayPaintlet

        public XYSequencePaintlet getOverlayPaintlet()
        Returns the overlay paintlet to use.
        Returns:
        the paintlet
      • overlayPaintletTipText

        public String overlayPaintletTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setMarkerPaintlet

        public void setMarkerPaintlet​(MarkerPaintlet value)
        Sets the marker paintlet to use.
        Parameters:
        value - the marker paintlet
      • getMarkerPaintlet

        public MarkerPaintlet getMarkerPaintlet()
        Returns the marker paintlet to use.
        Returns:
        the marker paintlet
      • markerPaintletTipText

        public String markerPaintletTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setErrorPaintlet

        public void setErrorPaintlet​(AbstractErrorPaintlet value)
        Sets the error paintlet to use.
        Parameters:
        value - the error paintlet
      • getErrorPaintlet

        public AbstractErrorPaintlet getErrorPaintlet()
        Returns the error paintlet to use.
        Returns:
        the error paintlet
      • errorPaintletTipText

        public String errorPaintletTipText()
        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.
      • colorProviderTipText

        public String colorProviderTipText()
        Returns the tip text for this property.
        Specified by:
        colorProviderTipText in interface ColorProviderHandler
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setOverlayColorProvider

        public void setOverlayColorProvider​(ColorProvider value)
        Sets the color provider to use for the overlays.
        Parameters:
        value - the color provider
      • getOverlayColorProvider

        public ColorProvider getOverlayColorProvider()
        Returns the color provider in use for the overlays.
        Returns:
        the color provider
      • overlayColorProviderTipText

        public String overlayColorProviderTipText()
        Returns the tip text for this property.
        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.
      • setAdjustToVisibleData

        public void setAdjustToVisibleData​(boolean value)
        Sets whether to adjust the plot to the visible data or all the loaded data.
        Parameters:
        value - true if to adjust to visible only
      • getAdjustToVisibleData

        public boolean getAdjustToVisibleData()
        Returns whether to adjust the plot to the visible data or all the loaded data.
        Returns:
        true if to adjust to visible only
      • adjustToVisibleDataTipText

        public String adjustToVisibleDataTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setShowSidePanel

        public void setShowSidePanel​(boolean value)
        Sets whether to show the side panel with the plot names.
        Parameters:
        value - true if to show
      • getShowSidePanel

        public boolean getShowSidePanel()
        Returns whether to show the side panel with the plot names.
        Returns:
        true if to show
      • showSidePanelTipText

        public String showSidePanelTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setSidePanelWidth

        public void setSidePanelWidth​(int value)
        Sets the width of the side panel.
        Parameters:
        value - the width
      • getSidePanelWidth

        public int getSidePanelWidth()
        Returns the width of the side panel.
        Returns:
        the width
      • sidePanelWidthTipText

        public String sidePanelWidthTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setNoToolTips

        public void setNoToolTips​(boolean value)
        Sets whether to suppress the plot tool tips.
        Parameters:
        value - true if to suppress
      • getNoToolTips

        public boolean getNoToolTips()
        Returns whether to suppress the plot tool tips.
        Returns:
        true if to suppress
      • noToolTipsTipText

        public String noToolTipsTipText()
        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.
      • getDefaultOutputFile

        protected PlaceholderFile getDefaultOutputFile()
        Returns the default output file.
        Returns:
        the file
      • outputFileTipText

        public String outputFileTipText()
        Returns the tip text for this property.
        Specified by:
        outputFileTipText in interface FileWriter
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • accepts

        public Class[] accepts()
        Returns the class that the consumer accepts.
        Specified by:
        accepts in interface InputConsumer
        Returns:
        adams.flow.container.SequencePlotterContainer.class, adams.flow.container.SequencePlotterContainer[].class
      • writePlotContainer

        protected boolean writePlotContainer​(String name,
                                             SequencePlotterContainer.ContentType type,
                                             Comparable x,
                                             Comparable y,
                                             double dX,
                                             double dY,
                                             Double[] errorX,
                                             Double[] errorY)
        Writes the plot container to the output file.
        Parameters:
        name - the name of the plot
        type - the type of plot
        x - the X value
        y - the Y value
        dX - the numerix X value
        dY - the numeric Y value
        errorX - the X error(s)
        errorY - the Y error(s)
        Returns:
        true if successfully written
      • display

        protected void display​(Token token)
        Displays the token (the panel and dialog have already been created at this stage).
        Specified by:
        display in class AbstractDisplay
        Parameters:
        token - the token to display
      • supplyText

        public String supplyText()
        Supplies the text. May get called even if actor hasn't been executed yet.
        Specified by:
        supplyText in interface TextSupplier
        Specified by:
        supplyText in interface TextSupporter
        Returns:
        the text, null if none available
      • displayPanelRequiresScrollPane

        public boolean displayPanelRequiresScrollPane()
        Returns whether the created display panel requires a scroll pane or not.
        Specified by:
        displayPanelRequiresScrollPane in interface DisplayPanelProvider
        Returns:
        true if the display panel requires a scroll pane