Package org.opentrafficsim.draw.graphs
Class AbstractBoundedPlot
- java.lang.Object
-
- org.opentrafficsim.draw.graphs.AbstractPlot
-
- org.opentrafficsim.draw.graphs.AbstractBoundedPlot
-
- All Implemented Interfaces:
Dataset
,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-2020 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
-
-
Field Summary
-
Fields inherited from class org.opentrafficsim.draw.graphs.AbstractPlot
DEFAULT_INITIAL_UPPER_TIME_BOUND, GRAPH_ADD_EVENT, GRAPH_REMOVE_EVENT
-
-
Constructor Summary
Constructors Constructor Description AbstractBoundedPlot(OTSSimulatorInterface simulator, java.lang.String caption, Duration updateInterval, Duration delay)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
setAutoBoundDomain(XYPlot plot)
Overridable; activates auto bounds on domain axis from user input.void
setAutoBoundRange(XYPlot plot)
Overridable; activates auto bounds on range axis from user input.protected void
setChart(JFreeChart chart)
Sets the chart and adds menus and listeners.void
setLowerDomainBound(java.lang.Double bound)
Sets the lower domain bound.void
setLowerRangeBound(java.lang.Double bound)
Sets the lower range bound.void
setUpperDomainBound(java.lang.Double bound)
Sets the upper domain bound.void
setUpperRangeBound(java.lang.Double bound)
Sets the upper range bound.-
Methods inherited from class org.opentrafficsim.draw.graphs.AbstractPlot
addChangeListener, encodeAsPng, getCaption, getChart, getGraphType, getGroup, getId, getSimulator, getStatusLabel, getUpdateTime, increaseTime, notifyPlotChange, removeChangeListener, setGroup, setUpdateInterval, update
-
-
-
-
Constructor Detail
-
AbstractBoundedPlot
public AbstractBoundedPlot(OTSSimulatorInterface simulator, java.lang.String caption, Duration updateInterval, Duration delay)
Constructor.- Parameters:
simulator
- OTSSimulatorInterface; simulatorcaption
- String; captionupdateInterval
- 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 classAbstractPlot
- Parameters:
chart
- JFreeChart; chart
-
setLowerDomainBound
public void setLowerDomainBound(java.lang.Double bound)
Sets the lower domain bound.- Parameters:
bound
- Double; usenull
to disable bound
-
setUpperDomainBound
public void setUpperDomainBound(java.lang.Double bound)
Sets the upper domain bound.- Parameters:
bound
- Double; usenull
to disable bound
-
setLowerRangeBound
public void setLowerRangeBound(java.lang.Double bound)
Sets the lower range bound.- Parameters:
bound
- Double; usenull
to disable bound
-
setUpperRangeBound
public void setUpperRangeBound(java.lang.Double bound)
Sets the upper range bound.- Parameters:
bound
- Double; usenull
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 ofXYPlot
s, but the auto bounds command comes from theChartPanel
that this class creates. In case the used plot is aXYPlot
, this method is then invoked. Sub classes with auto domain bounds that work with anXYPlot
should implement this. The method is not abstract as the use ofXYPlot
is not obligated.- Overrides:
setAutoBoundDomain
in classAbstractPlot
- 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 ofXYPlot
s, but the auto bounds command comes from theChartPanel
that this class creates. In case the used plot is aXYPlot
, this method is then invoked. Sub classes with auto range bounds that work with anXYPlot
should implement this. The method is not abstract as the use ofXYPlot
is not obligated.- Overrides:
setAutoBoundRange
in classAbstractPlot
- Parameters:
plot
- XYPlot; plot
-
-