Class ScatterplotSimulationPlotter
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JInternalFrame
microsim.gui.plot.ScatterplotSimulationPlotter
- All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible, RootPaneContainer, WindowConstants, EventListener
A ScatterplotSimulationPlotter is able to trace one or more pairs of data
sources
over time, creating a scatterplot chart. It is based on JFreeChart library
and
uses data sources based on the microsim.statistics.* interfaces.
Title: JAS-mine
Description: Java Agent-based Simulation library
Copyright (C) 2017 Ross Richardson
This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.- Author:
- Ross Richardson
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class JInternalFrame
JInternalFrame.AccessibleJInternalFrame, JInternalFrame.JDesktopIconNested classes/interfaces inherited from class JComponent
JComponent.AccessibleJComponentNested classes/interfaces inherited from class Container
Container.AccessibleAWTContainerNested classes/interfaces inherited from class Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy -
Field Summary
Fields inherited from class JInternalFrame
closable, CONTENT_PANE_PROPERTY, desktopIcon, FRAME_ICON_PROPERTY, frameIcon, GLASS_PANE_PROPERTY, iconable, IS_CLOSED_PROPERTY, IS_ICON_PROPERTY, IS_MAXIMUM_PROPERTY, IS_SELECTED_PROPERTY, isClosed, isIcon, isMaximum, isSelected, LAYERED_PANE_PROPERTY, maximizable, MENU_BAR_PROPERTY, resizable, ROOT_PANE_PROPERTY, rootPane, rootPaneCheckingEnabled, title, TITLE_PROPERTYFields inherited from class JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWFields inherited from class Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTHFields inherited from interface WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE -
Constructor Summary
ConstructorsConstructorDescriptionScatterplotSimulationPlotter(String title, String xaxis, String yaxis) Constructor for scatterplot chart objects with chart legend displayed by default and all data samples shown, accumulating as time moves forward.ScatterplotSimulationPlotter(String title, String xaxis, String yaxis, boolean includeLegend, int maxSamples) Constructor for scatterplot chart objects, featuring a toggle to hide the chart legend and to set the number of previous time-steps of data to display in the chart. -
Method Summary
Modifier and TypeMethodDescriptionvoidaddSeries(String legend, Object target_X, String variableName_X, boolean getFromMethod_X, Object target_Y, String variableName_Y, boolean getFromMethod_Y) Build a series of paired values from two generic objects.voidaddSeries(String legend, IDoubleSource plottableObject_X, Enum<?> variableID_X, IDoubleSource plottableObject_Y, Enum<?> variableID_Y) Build a series of paired values, retrieving data from two IDoubleSource objects.voidaddSeries(String legend, IDoubleSource plottableObject_X, Enum<?> variableID_X, ILongSource plottableObject_Y, Enum<?> variableID_Y) Build a series of paired values, retrieving x-axis data from an IDoubleSource object and y-axis data from an ILongSource object.voidaddSeries(String legend, IDoubleSource plottableObject_X, IDoubleSource plottableObject_Y) Build a series of paired values, retrieving data from two IDoubleSource objects, using the default variableId.voidaddSeries(String legend, IDoubleSource plottableObject_X, ILongSource plottableObject_Y) Build a series of paired values, retrieving x-axis data from an IDoubleSource object and y-axis data from an ILongSource object, using the default variableId.voidaddSeries(String legend, IFloatSource plottableObject_X, Enum<?> variableID_X, IFloatSource plottableObject_Y, Enum<?> variableID_Y) Build a series of paired values from two IFloatSource objects.voidaddSeries(String legend, IFloatSource plottableObject_X, IFloatSource plottableObject_Y) Build a series of paired values from two IFloatSource objects, using the default variableId.voidaddSeries(String legend, IIntSource plottableObject_X, Enum<?> variableID_X, IIntSource plottableObject_Y, Enum<?> variableID_Y) Build a series of paired values from two IIntSource objects.voidaddSeries(String legend, IIntSource plottableObject_X, IIntSource plottableObject_Y) Build a series of paired values from two IIntSource objects, using the default variableId.voidaddSeries(String legend, ILongSource plottableObject_X, Enum<?> variableID_X, IDoubleSource plottableObject_Y, Enum<?> variableID_Y) Build a series of paired values, retrieving x-axis data from an ILongSource object and y-axis data from an IDoubleSource object.voidaddSeries(String legend, ILongSource plottableObject_X, Enum<?> variableID_X, ILongSource plottableObject_Y, Enum<?> variableID_Y) Build a series of paired values from two ILongSource objectsvoidaddSeries(String legend, ILongSource plottableObject_X, IDoubleSource plottableObject_Y) Build a series of paired values, retrieving x-axis data from an ILongSource object and y-axis data from an IDoubleSource object, using the default variableId.voidaddSeries(String legend, ILongSource plottableObject_X, ILongSource plottableObject_Y) Build a series of paired values from two ILongSource objects, using the default variableId.intMax samples parameters allow to define a maximum number of time-steps used in the scatter plot.voidvoidsetMaxSamples(int maxSamples) Set the max sample parameter.voidupdate()Methods inherited from class JInternalFrame
addImpl, addInternalFrameListener, createRootPane, dispose, doDefaultCloseAction, fireInternalFrameEvent, getAccessibleContext, getContentPane, getDefaultCloseOperation, getDesktopIcon, getDesktopPane, getFocusCycleRootAncestor, getFocusOwner, getFrameIcon, getGlassPane, getInternalFrameListeners, getJMenuBar, getLastCursor, getLayer, getLayeredPane, getMenuBar, getMostRecentFocusOwner, getNormalBounds, getRootPane, getTitle, getUI, getUIClassID, getWarningString, hide, isClosable, isClosed, isFocusCycleRoot, isIcon, isIconifiable, isMaximizable, isMaximum, isResizable, isRootPaneCheckingEnabled, isSelected, moveToBack, moveToFront, pack, paintComponent, paramString, remove, removeInternalFrameListener, reshape, restoreSubcomponentFocus, setClosable, setClosed, setContentPane, setCursor, setDefaultCloseOperation, setDesktopIcon, setFocusCycleRoot, setFrameIcon, setGlassPane, setIcon, setIconifiable, setJMenuBar, setLayer, setLayer, setLayeredPane, setLayout, setMaximizable, setMaximum, setMenuBar, setNormalBounds, setResizable, setRootPane, setRootPaneCheckingEnabled, setSelected, setTitle, setUI, show, toBack, toFront, updateUIMethods inherited from class JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, updateMethods inherited from class Container
add, add, add, add, add, addContainerListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, transferFocusDownCycle, validate, validateTreeMethods inherited from class Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Constructor Details
-
ScatterplotSimulationPlotter
Constructor for scatterplot chart objects with chart legend displayed by default and all data samples shown, accumulating as time moves forward. If it is desired to turn the legend off, or set a limit to the number of previous time-steps of data displayed in the chart, use the constructor ScatterplotSimulationPlotter(String title, String xaxis, String yaxis, boolean includeLegend, int maxSamples)- Parameters:
title- - title of the chartxaxis- - name of the x-axisyaxis- - name of the y-axis
-
ScatterplotSimulationPlotter
public ScatterplotSimulationPlotter(String title, String xaxis, String yaxis, boolean includeLegend, int maxSamples) Constructor for scatterplot chart objects, featuring a toggle to hide the chart legend and to set the number of previous time-steps of data to display in the chart.- Parameters:
title- - title of the chartxaxis- - name of the x-axisyaxis- - name of the y-axisincludeLegend- - toggles whether to include the legend. If displaying a very large number of different series in the chart, it may be useful to turn the legend off as it will occupy a lot of space in the GUI.maxSamples- - the number of 'snapshots' of data displayed in the chart. Only data from the last 'maxSamples' updates will be displayed in the chart, so if the chart is updated at each 'time-step', then only the most recent 'maxSamples' time-steps will be shown on the chart. If the user wishes to accumulate all data points from the simulation run, i.e. to display all available data from all previous time-steps, set this to 0.
-
-
Method Details
-
onEvent
- Specified by:
onEventin interfaceEventListener
-
update
public void update() -
addSeries
public void addSeries(String legend, IDoubleSource plottableObject_X, IDoubleSource plottableObject_Y) Build a series of paired values, retrieving data from two IDoubleSource objects, using the default variableId.- Parameters:
legend- The legend name of the series.plottableObject_X- The data source object implementing the IDoubleSource interface to produce values for the x-axis (domain).plottableObject_Y- The data source object implementing the IDoubleSource interface to produce values for the y-axis (range).
-
addSeries
public void addSeries(String legend, IDoubleSource plottableObject_X, Enum<?> variableID_X, IDoubleSource plottableObject_Y, Enum<?> variableID_Y) Build a series of paired values, retrieving data from two IDoubleSource objects.- Parameters:
legend- The legend name of the series.plottableObject_X- The data source object implementing the IDoubleSource interface producing values of the x-axis (domain).variableID_X- The variable id of the source object producing values of the x-axis (domain).plottableObject_Y- The data source object implementing the IDoubleSource interface producing values of the y-axis (range).variableID_Y- The variable id of the source object producing values of the y-axis (range).
-
addSeries
public void addSeries(String legend, IFloatSource plottableObject_X, IFloatSource plottableObject_Y) Build a series of paired values from two IFloatSource objects, using the default variableId.- Parameters:
legend- The legend name of the series.plottableObject_X- The data source object implementing the IFloatSource interface to produce values for the x-axis (domain).plottableObject_Y- The data source object implementing the IFloatSource interface to produce values for the y-axis (range).
-
addSeries
public void addSeries(String legend, IFloatSource plottableObject_X, Enum<?> variableID_X, IFloatSource plottableObject_Y, Enum<?> variableID_Y) Build a series of paired values from two IFloatSource objects.- Parameters:
legend- The legend name of the series.plottableObject_X- The data source object implementing the IFloatSource interface producing values of the x-axis (domain).variableID_X- The variable id of the source object producing values of the x-axis (domain).plottableObject_Y- The data source object implementing the IFloatSource interface producing values of the y-axis (range).variableID_Y- The variable id of the source object producing values of the y-axis (range).
-
addSeries
Build a series of paired values from two ILongSource objects, using the default variableId.- Parameters:
legend- The legend name of the series.plottableObject_X- The data source object implementing the ILongSource interface producing values of the x-axis (domain).plottableObject_Y- The data source object implementing the ILongSource interface producing values of the y-axis (range).
-
addSeries
public void addSeries(String legend, ILongSource plottableObject_X, Enum<?> variableID_X, ILongSource plottableObject_Y, Enum<?> variableID_Y) Build a series of paired values from two ILongSource objects- Parameters:
legend- The legend name of the series.plottableObject_X- The data source object implementing the ILongSource interface producing values of the x-axis (domain).variableID_X- The variable id of the source object producing values of the x-axis (domain).plottableObject_Y- The data source object implementing the ILongSource interface producing values of the y-axis (range).variableID_Y- The variable id of the source object producing values of the y-axis (range).
-
addSeries
Build a series of paired values from two IIntSource objects, using the default variableId.- Parameters:
legend- The legend name of the series.plottableObject_X- The data source object implementing the IIntSource interface producing values of the x-axis (domain).plottableObject_Y- The data source object implementing the IIntSource interface producing values of the y-axis (range).
-
addSeries
public void addSeries(String legend, IIntSource plottableObject_X, Enum<?> variableID_X, IIntSource plottableObject_Y, Enum<?> variableID_Y) Build a series of paired values from two IIntSource objects.- Parameters:
legend- The legend name of the series.plottableObject_X- The data source object implementing the IIntSource interface producing values of the x-axis (domain).variableID_X- The variable id of the source object producing values of the x-axis (domain).plottableObject_Y- The data source object implementing the IIntSource interface producing values of the y-axis (range).variableID_Y- The variable id of the source object producing values of the y-axis (range).
-
addSeries
public void addSeries(String legend, Object target_X, String variableName_X, boolean getFromMethod_X, Object target_Y, String variableName_Y, boolean getFromMethod_Y) Build a series of paired values from two generic objects.- Parameters:
legend- The legend name of the series.target_X- The data source object for x-axis values (domain).variableName_X- The variable or method name of the source object producing values for the x-axis (domain).getFromMethod_X- Specifies if the variableName_X is a field or a method.target_Y- The data source object for y-axis values (range).variableName_Y- The variable or method name of the source object producing values for the y-axis (range).getFromMethod_Y- Specifies if the variableName_Y is a field or a method.
-
addSeries
public void addSeries(String legend, IDoubleSource plottableObject_X, ILongSource plottableObject_Y) Build a series of paired values, retrieving x-axis data from an IDoubleSource object and y-axis data from an ILongSource object, using the default variableId.- Parameters:
legend- The legend name of the series.plottableObject_X- The data source object implementing the IDoubleSource interface to produce values for the x-axis (domain).plottableObject_Y- The data source object implementing the ILongSource interface to produce values for the y-axis (range).
-
addSeries
public void addSeries(String legend, IDoubleSource plottableObject_X, Enum<?> variableID_X, ILongSource plottableObject_Y, Enum<?> variableID_Y) Build a series of paired values, retrieving x-axis data from an IDoubleSource object and y-axis data from an ILongSource object.- Parameters:
legend- The legend name of the series.plottableObject_X- The data source object implementing the IDoubleSource interface producing values of the x-axis (domain).variableID_X- The variable id of the source object producing values of the x-axis (domain).plottableObject_Y- The data source object implementing the ILongSource interface producing values of the y-axis (range).variableID_Y- The variable id of the source object producing values of the y-axis (range).
-
addSeries
public void addSeries(String legend, ILongSource plottableObject_X, IDoubleSource plottableObject_Y) Build a series of paired values, retrieving x-axis data from an ILongSource object and y-axis data from an IDoubleSource object, using the default variableId.- Parameters:
legend- The legend name of the series.plottableObject_X- The data source object implementing the ILongSource interface to produce values for the x-axis (domain).plottableObject_Y- The data source object implementing the IDoubleSource interface to produce values for the y-axis (range).
-
addSeries
public void addSeries(String legend, ILongSource plottableObject_X, Enum<?> variableID_X, IDoubleSource plottableObject_Y, Enum<?> variableID_Y) Build a series of paired values, retrieving x-axis data from an ILongSource object and y-axis data from an IDoubleSource object.- Parameters:
legend- The legend name of the series.plottableObject_X- The data source object implementing the ILongSource interface producing values of the x-axis (domain).variableID_X- The variable id of the source object producing values of the x-axis (domain).plottableObject_Y- The data source object implementing the IDoubleSource interface producing values of the y-axis (range).variableID_Y- The variable id of the source object producing values of the y-axis (range).
-
getMaxSamples
public int getMaxSamples()Max samples parameters allow to define a maximum number of time-steps used in the scatter plot. When set, the oldest data points are removed as time moves forward to maintain the number of samples (time-steps) in the chart. -
setMaxSamples
public void setMaxSamples(int maxSamples) Set the max sample parameter.- Parameters:
maxSamples- Maximum number of time-steps rendered on x axis.
-