Class ScatterplotSimulationPlotter

All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible, RootPaneContainer, WindowConstants, EventListener

public class ScatterplotSimulationPlotter extends JInternalFrame implements 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:
  • Constructor Details

    • ScatterplotSimulationPlotter

      public ScatterplotSimulationPlotter(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. 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 chart
      xaxis - - name of the x-axis
      yaxis - - 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 chart
      xaxis - - name of the x-axis
      yaxis - - name of the y-axis
      includeLegend - - 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

      public void onEvent(Enum<?> type)
      Specified by:
      onEvent in interface EventListener
    • 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

      public void addSeries(String legend, ILongSource plottableObject_X, ILongSource plottableObject_Y)
      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

      public void addSeries(String legend, IIntSource plottableObject_X, IIntSource plottableObject_Y)
      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.