AnyLogic 9
Expand
Font size

Plot

Plot charts visualize how two variables change together by plotting X-axis values against Y-axis values. While time plots use time as one variable, regular plot charts assign independent variables to both axes. Multiple data sources (dynamic values or data sets) can be displayed simultaneously in a single coordinate space.

Each data source is a set of (x, y) value pairs, enabling plots to represent correlations, trajectories, or dynamic relationships between model variables.

Plot

To create a plot

  1. Drag the Icon: Plot Plot element from the  Analysis palette into the graphical editor.
  2. In the Data section of the chart’s properties, configure the first data item.
  3. Select the data source for this item: Value or Data set.
  4. Specify the name for the data item in the Title box. This text will be shown in the chart legend.
  5. Specify the color for this data item’s plot. Click the control to use the color picker.

When finished, specify additional data items you want to be displayed in your chart.

  • To plot one variable or parameter against another, select the Value option. Enter the X-axis variable name in the X axis value box and the Y-axis variable in the Y axis value box. You can also enter expressions in these fields. Expressions are evaluated at the defined recurrence interval, and the results are added to the chart.
  • To display values collected by a data set, select the Data set option and enter its name in the Data set edit box.

To add a data item

By default, a new plot already has one data item. To add another, follow these steps:

  1. Select the plot in the graphical editor or in the Projects view.
  2. Go to the Data section of the properties.
  3. Click the  Add button. A new property section with settings for one more data item will appear below.

To remove a data item

  1. Select the plot in the graphical editor or in the Projects view.
  2. Go to the Data section of the properties.
  3. Locate the section defining the data item you want to remove from the plot.
  4. In this section, click the  button.

Properties

General

Name — The name of the chart. The name is used to identify and access the chart from code.

Show name — If selected, the name of the chart is displayed in the presentation diagram.

Lock — If selected, the element is locked; it will not respond to any mouse actions during the model development time. To select the element, click its icon in the Elements view.

Ignore — If selected, the chart is excluded from the model.

Data

X — [Visible if the Value option is selected above] The expression evaluated to generate X-axis values.

Y — [Visible if the Value option is selected above] The expression evaluated to generate Y-axis values.

Data set — [Visible if the Data set option is selected above] The name of the data set containing the values for the plot to display.

Title — The data item name to be shown in the plot legend.

Style — Click to access extra appearance options:

Color — The color of the plot. Click the control to adjust it using the color picker.
Line width — The thickness of the plot line. Click one of the buttons or use the edit box next to them to set the width (in pixels). If the line width is set to 0, only the points will be displayed in the plot.
Point style — The shape of plot points. You can choose between none, square, round, or triangle.

The  and  arrows — Allow you to rearrange the data items.

The  button — Allows you to remove data items from the chart.

The  Add button — Creates a section for a new data item.

Data update

Update data automatically — If selected, new data samples will be added automatically.

Use model time —  [Visible if Update data automatically is selected] If selected, the event will occur at the specified model time.

Use calendar date — [Visible if Update data automatically is selected] If selected, the event will occur at the specified calendar date.

First update time — [Visible if Update data automatically and Use model time are selected] The time of the first update defined as a number of model time units that must pass from the model start.

Update date — [Visible if Update data automatically and Use calendar dates are selected] The calendar date and time of the event.

Recurrence time — [Visible if Update data automatically is selected] The time that must pass between recurring updates.

Maximum number of samples (applies to ‘Value’ data) — The “tail size” of the data set. Defines the number of the latest data items this plot will keep.

Scale

Horizontal scale — Specifies the scale type for the horizontal axis of the plot:

Auto — reserves an optimal space for the chart within the chart area
Fixed — defines the minimum and maximum axis points using the From and To edit boxes correspondingly

Vertical scale — Specifies the scale type for the vertical axis of the plot:

Auto — reserves an optimal space for the chart within the chart area
Fixed — defines the minimum and maximum axis points using the From and To edit boxes correspondingly
Appearance

Horizontal axis labels — Specifies the position of the horizontal axis labels relative to the chart:

None — No labels will be displayed
Below
Above

Vertical axis labels — Specifies the position of the vertical axis labels relative to the chart:

None — No labels will be displayed
Left
Right

Style — Click to access extra appearance settings and then click each control to adjust them using the color picker.

Background color — The background color for the entire area allocated for the element. The background color for the chart area can be adjusted later in the Chart area section.
Border color — The color of the element border.
Labels color — The color of the chart labels.
Grid color — The color of the chart grid. Select no color if you do not want the grid to be displayed.
Draw line — If selected, data item points on the plot are connected with a line.
Interpolation — [Visible if Draw line is selected above] Defines the behavior of the plot between adjacent points. There are two options:
Linear — points are connected with a straight line
Step — the Y-value between two adjacent points matches that of the point with the lower X-value
Position and size

Level — The level this chart belongs to.

X — The X-coordinate of the element’s upper left corner.

Y — The Y-coordinate of the element’s upper left corner.

Width — The width of the element (in pixels).

Height — The height of the element (in pixels).

Legend

Show legend — If selected, the chart legend is displayed.

Area size — [Enabled if Show legend is selected] Controls the size of the legend area (between the element border and the divider): width for Below/Above legend position or height for Left/Right position.

Text color — [Enabled if Show legend is selected] The color that will be used to display the legend. Click the control to adjust the settings using the color picker.

Position — [Enabled if Show legend is selected] Controls the legend position relative to the chart.

Chart area

This section defines the visual properties of the chart area.

X Offset — The horizontal offset of the chart area from the left edge of the element.

Y Offset — The vertical offset of the chart area from the left edge of the element.

Width — The width of the chart area (in pixels).

Height — The height of the chart area (in pixels).

Style — Click to access extra appearance settings and then click each control to adjust them using the color picker.

Background color — The chart area background color.
Border color — The color of the chart area border.
Actions

On selection change — The code executed when the user selects particular data items. This code is executed either when the user changes the selection by clicking on items in the chart legend, or when the selection is changed programmatically by selectItem().

You can use the following variables:

  • int[] selectedIndices — returns the indices of currently selected data items
  • boolean programmatically — defines whether items were selected programmatically (true) or not (false)
Visibility

Visible — Toggles the visibility of the element. The chart is visible when the box is checked or when the specified expression evaluates to true, and not visible otherwise.

Agent presentation — If selected, the chart is included in the agent presentation. This means that if the agent hosting this control is embedded in another agent, the control will remain visible.

Expert

Replication — The replication factor of the chart. Here you can specify how many copies of the chart will be created. If you leave this box empty, only one chart will be created.

Functions

Data items
Function Description
void addDataSet(DataSet ds) Adds a DataSet to the chart with default title "Data set" and default visual appearance: royalBlue color, line of width 1 is drawn, points are not drawn, linear interpolation.

ds — the data set to add
void addDataSet(DataSet ds, String title) Adds a DataSet to the chart a given title and default visual appearance: royalBlue color, line of width 1 is drawn, points are not drawn, linear interpolation.

ds — the data set to add
title — the data set’s title
void addDataSet(DataSet ds, String title, Color color, boolean drawLine, int interpolationType, float lineWidth, int pointStyle) Adds a DataSet to the chart with the specified visual appearance.

ds — the data set to add
title — the data set title
color — the color of the data set plot
drawLine — if true, the plot line is drawn
interpolationType — interpolation type between two data points: Plot.INTERPOLATION_LINEAR — linear or Plot.INTERPOLATION_STEP — step interpolation
lineWidth — the width of the line (0 for thinnest possible)
pointStyle — what to draw at data points: Plot.POINT_SQUARE — squares, Plot.POINT_CIRCLE — circles, Plot.POINT_TRIANGLE — triangles, or Plot.POINT_NONE — none.
void addDataSet(DataSet ds, String title, Color color, boolean drawLine, boolean fillAreaUnderLine, int interpolationType, double lineWidth, int pointStyle) Adds a DataSet to the chart with the specified visual appearance.

ds — the data set to add
title — the data set title
color — the color of the data set plot
drawLine — if true, the plot line is drawn
fillAreaUnderLine — if true, the area under line is filled
interpolationType — interpolation type between two data points: Plot.INTERPOLATION_LINEAR — linear or Plot.INTERPOLATION_STEP — step interpolation
lineWidth — the width of the line (0 for thinnest possible)
pointStyle — what to draw at data points: Plot.POINT_SQUARE — squares, Plot.POINT_CIRCLE — circles, Plot.POINT_TRIANGLE — triangles, or Plot.POINT_NONE — none.
int getCount() Returns the number of chart items (data items or data sets) currently displayed by this chart.
ChartItem get(int i) Returns the chart item (DataItem, DataSet, etc.) with the given index.
String getTitle(int i) Returns the title of chart item (DataItem, DataSet, etc.) with the given index.
Color getColor(int i) Returns the color of the chart item (DataItem, DataSet) with the given index.

i — index of the item
void setColor(int i, Color c) Sets the new color of the chart item (DataItem, DataSet) with the given index.

i — index of the item
c — the new color of the item
void remove(int i) Removes the item (DataItem, DataSet, etc.) with the given index from the chart.
int remove(ChartItem ci) Removes the given item (DataItem, DataSet) from the chart.
void removeAll() Removes all items from the chart.
Selecting data items
Function Description
void selectItem(int itemIndex, boolean selected) Selects/deselects (depending on selected value) the chart item with given index.
void setSelectedItemIndices(int[] selectedIndices) Selects only chart items with the given indices.

selectedIndices — an array with indices of chart items to be selected (other chart items will be deselected), may be null — this clears the selection
int[] getSelectedItemIndices() Returns the number of chart items (data items or data sets) currently displayed by this chart.
Setting chart’s axes scales
Function Description
void setFixedHorizontalScale(double minimum, double maximum) Sets fixed scale for horizontal axis of plot.

minimum — minimum of chart axis scale
maximum — maximum of chart axis scale
void setFixedVerticalScale(double minimum, double maximum) Sets fixed scale for vertical axis of plot.

minimum — minimum of chart axis scale
maximum — maximum of chart axis scale
Updating chart data manually
Function Description
void updateData() Updates all data items displayed by this chart.
Location
Function Description
double getX() Returns the X-coordinate of the element (upper left corner).
double getY() Returns the Y-coordinate of the element (upper left corner).
void setX(double x) Sets the X-coordinate of the element.

x — the new value of X-coordinate
void setY(double y) Sets the Y-coordinate of the element.

y — the new value of Y-coordinate
void setPos(double x, double y) Sets new coordinates for the element.

x — the new value of x coordinate
y — the new value of y coordinate
Size
Function Description
double getWidth() Returns the width of the element.
double getHeight() Returns the height of the element.
void setWidth(double w) Sets new width for the element.

w — new value of the chart width
void setHeight(double h) Sets new height for the element.

h — new value of the chart height
Visibility
Function Description
boolean isVisible() Checks the visibility of the element. Returns true if the element is visible, and false otherwise.
void setVisible(boolean v) Sets the visibility of the element.

v — visibility: if true — the chart is set to be visible, if false  — not visible.
Copying chart data to clipboard
Function Description
String copyToClipboard() Copies all chart data to the system clipboard in text form. Returns the text representation of all chart data.
How can we improve this article?