Class AbstractBoundedPlot

  • All Implemented Interfaces:
    Dataset, org.opentrafficsim.base.Identifiable
    Direct Known Subclasses:
    AbstractSpaceTimePlot, FundamentalDiagram

    public abstract class AbstractBoundedPlot
    extends AbstractPlot
    Plot that allows hard bounds to be set, with upper and lower bound independent. Manual zooming and auto ranges are bounded within the bounds.

    Copyright (c) 2013-2022 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
    BSD-style license. See OpenTrafficSim License.

    Version:
    $Revision$, $LastChangedDate$, by $Author$, initial version 21 okt. 2018
    Author:
    Alexander Verbraeck, Peter Knoppers, Wouter Schakel
    • Constructor Detail

      • AbstractBoundedPlot

        public AbstractBoundedPlot​(org.opentrafficsim.core.dsol.OTSSimulatorInterface simulator,
                                   String caption,
                                   Duration updateInterval,
                                   Duration delay)
        Constructor.
        Parameters:
        simulator - OTSSimulatorInterface; simulator
        caption - String; caption
        updateInterval - Duration; regular update interval (simulation time)
        delay - Duration; amount of time that chart runs behind simulation to prevent gaps in the charted data
    • Method Detail

      • setChart

        protected void setChart​(JFreeChart chart)
        Sets the chart and adds menus and listeners.
        Overrides:
        setChart in class AbstractPlot
        Parameters:
        chart - JFreeChart; chart
      • setLowerDomainBound

        public void setLowerDomainBound​(Double bound)
        Sets the lower domain bound.
        Parameters:
        bound - Double; use null to disable bound
      • setUpperDomainBound

        public void setUpperDomainBound​(Double bound)
        Sets the upper domain bound.
        Parameters:
        bound - Double; use null to disable bound
      • setLowerRangeBound

        public void setLowerRangeBound​(Double bound)
        Sets the lower range bound.
        Parameters:
        bound - Double; use null to disable bound
      • setUpperRangeBound

        public void setUpperRangeBound​(Double bound)
        Sets the upper range bound.
        Parameters:
        bound - Double; use null to disable bound
      • setAutoBoundDomain

        public void setAutoBoundDomain​(XYPlot plot)
        Overridable; activates auto bounds on domain axis from user input. This class does not force the use of XYPlots, but the auto bounds command comes from the ChartPanel that this class creates. In case the used plot is a XYPlot, this method is then invoked. Sub classes with auto domain bounds that work with an XYPlot should implement this. The method is not abstract as the use of XYPlot is not obligated.
        Overrides:
        setAutoBoundDomain in class AbstractPlot
        Parameters:
        plot - XYPlot; plot
      • setAutoBoundRange

        public void setAutoBoundRange​(XYPlot plot)
        Overridable; activates auto bounds on range axis from user input. This class does not force the use of XYPlots, but the auto bounds command comes from the ChartPanel that this class creates. In case the used plot is a XYPlot, this method is then invoked. Sub classes with auto range bounds that work with an XYPlot should implement this. The method is not abstract as the use of XYPlot is not obligated.
        Overrides:
        setAutoBoundRange in class AbstractPlot
        Parameters:
        plot - XYPlot; plot