Class Weighted_PyramidPlotter
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JInternalFrame
microsim.gui.plot.Weighted_PyramidPlotter
- All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible, RootPaneContainer, WindowConstants, EventListener
A PyramidPlotter is able to display a pyramid using two weighted
cross-sections of a variable (e.g. dag males/females for a
population pyramid). It can be updated during the simulation. It
is based on JFreeChart library and uses data sources based on the
microsim.statistics.weighted* interfaces.
Note that the weights are taken into account by adding the weight to the count of each group. Groups can be optionally provided by the caller.
Note that the weights are taken into account by adding the weight to the count of each group. Groups can be optionally provided by the caller.
Title: JAS-mine
Description: Java Agent-based Simulation library
Copyright (C) 2020 Kostas Manios
This work is based on "Weighted_HistogramSimulationPlotter.java" by 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:
- Kostas Manios
- See Also:
-
Nested Class Summary
Nested ClassesNested 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
FieldsModifier and TypeFieldDescriptionstatic Stringstatic Booleanstatic Stringstatic StringDefault valuesstatic Stringstatic Stringstatic StringFields 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
ConstructorsConstructorDescriptionConstructor for pyramid objects, showing only the latest data as time moves forward.Weighted_PyramidPlotter(int start, int end, int step) Constructor for pyramid objects, showing only the latest data as time moves forward.Weighted_PyramidPlotter(int start, int end, int step, Boolean reverseOrder) Constructor for pyramid objects, showing only the latest data as time moves forward.Weighted_PyramidPlotter(String title) Constructor for pyramid objects, showing only the latest data as time moves forward.Weighted_PyramidPlotter(String[] groupNames, double[][] groupRanges) Constructor for pyramid objects, showing only the latest data as time moves forward.Constructor for pyramid objects, showing only the latest data as time moves forward.Weighted_PyramidPlotter(String title, String xaxis, String yaxis, String leftCat, String rightCat, int start, int end, int step, Boolean reverseOrder, String format) Constructor for pyramid objects, showing only the latest data as time moves forward.Weighted_PyramidPlotter(String title, String xaxis, String yaxis, String leftCat, String rightCat, String[] groupNames, double[][] groupRanges, String format) Constructor for pyramid objects, showing only the latest data as time moves forward. -
Method Summary
Modifier and TypeMethodDescriptionvoidAdd a new series buffer, retrieving value from IWeightedDoubleSource objects in a collection.voidaddCollectionSource(IWeightedFloatArraySource[] source) Add a new series buffer, retrieving value from IWeightedFloatSource objects in a collection.voidaddCollectionSource(IWeightedIntArraySource[] source) Add a new series buffer, retrieving value from IWeightedIntArraySource objects in a collection.voidaddCollectionSource(IWeightedLongArraySource[] source) Add a new series buffer, retrieving value from IWeightedLongSource objects in a collection.voidvoidsetScalingFactor(double scalingFactor) 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
-
Field Details
-
DEFAULT_TITLE
Default values -
DEFAULT_XAXIS
-
DEFAULT_YAXIS
-
DEFAULT_LEFT_CAT
-
DEFAULT_RIGHT_CAT
-
DEFAULT_REVERSE_ORDER
-
DEFAULT_YAXIS_FORMAT
-
-
Constructor Details
-
Weighted_PyramidPlotter
public Weighted_PyramidPlotter()Constructor for pyramid objects, showing only the latest data as time moves forward. Default values are used for all parameters: title, x-axis, y-axis, category names, age group names/ranges, reverseOrder It generates one age group per unique age, whose title is that age. -
Weighted_PyramidPlotter
Constructor for pyramid objects, showing only the latest data as time moves forward. Default values are used for the following parameters: x-axis, y-axis, category names, age group names/ranges, reverseOrder It generates one age group per unique age, whose title is that age.- Parameters:
title- - title of the chart
-
Weighted_PyramidPlotter
public Weighted_PyramidPlotter(String title, String xaxis, String yaxis, String leftCat, String rightCat) Constructor for pyramid objects, showing only the latest data as time moves forward. Default values are used for the following parameters: age group names/ranges, reverseOrder It generates one age group per unique age, whose title is that age.- Parameters:
title- - title of the chartxaxis- - name of the x-axisyaxis- - name of the y-axisleftCat- - the name of the left categoryrightCat- - the name of the right category
-
Weighted_PyramidPlotter
public Weighted_PyramidPlotter(int start, int end, int step) Constructor for pyramid objects, showing only the latest data as time moves forward. It generates groups names and ranges using the start/end/step values provided. Default values are used for the following parameters: x-axis, y-axis, category names, age group names/ranges, reverseOrder- Parameters:
start- - the minimum accepted value in groupsend- - the maximum accepted value in groupsstep- - the step used to separate value into groups
-
Weighted_PyramidPlotter
Constructor for pyramid objects, showing only the latest data as time moves forward. It generates groups names and ranges using the start/end/step and order values provided. Default values are used for the following parameters: x-axis, y-axis, category names, age group names/ranges- Parameters:
start- - the minimum accepted value in groupsend- - the maximum accepted value in groupsstep- - the step used to separate value into groupsreverseOrder- - if true, it will reverse the groups
-
Weighted_PyramidPlotter
public Weighted_PyramidPlotter(String title, String xaxis, String yaxis, String leftCat, String rightCat, int start, int end, int step, Boolean reverseOrder, String format) Constructor for pyramid objects, showing only the latest data as time moves forward. It generates groups names and ranges using the start/end/step values provided. Descending order is used by default.- Parameters:
title- - title of the chartxaxis- - name of the x-axisyaxis- - name of the y-axisleftCat- - the name of the left categoryrightCat- - the name of the right categorystart- - the minimum accepted value in groupsend- - the maximum accepted value in groupsstep- - the step used to separate value into groupsreverseOrder- - if true, it will reverse the groups
-
Weighted_PyramidPlotter
Constructor for pyramid objects, showing only the latest data as time moves forward. It generates groups based on the names and ranges provided. Default values are used for the following parameters: title, x-axis, y-axis, category names- Parameters:
groupNames- - an array of the name of each groupgroupRanges- - an array of the min/max values of each group
-
Weighted_PyramidPlotter
public Weighted_PyramidPlotter(String title, String xaxis, String yaxis, String leftCat, String rightCat, String[] groupNames, double[][] groupRanges, String format) Constructor for pyramid objects, showing only the latest data as time moves forward. It generates groups based on the names and ranges provided.- Parameters:
title- - title of the chartxaxis- - name of the x-axisyaxis- - name of the y-axisleftCat- - the name of the left categoryrightCat- - the name of the right categorygroupNames- - an array of the name of each groupgroupRanges- - an array of the min/max values of each group
-
-
Method Details
-
onEvent
- Specified by:
onEventin interfaceEventListener
-
update
public void update() -
setScalingFactor
public void setScalingFactor(double scalingFactor) -
addCollectionSource
Add a new series buffer, retrieving value from IWeightedDoubleSource objects in a collection.- Parameters:
source- A collection containing the sources.
-
addCollectionSource
Add a new series buffer, retrieving value from IWeightedFloatSource objects in a collection.- Parameters:
source- A collection containing the sources.
-
addCollectionSource
Add a new series buffer, retrieving value from IWeightedIntArraySource objects in a collection.- Parameters:
source- A collection containing the sources.
-
addCollectionSource
Add a new series buffer, retrieving value from IWeightedLongSource objects in a collection.- Parameters:
source- A collection containing the sources.
-