Main Content

Array Plot

Display vectors or arrays

  • Array Plot block

Libraries:
DSP System Toolbox / Sinks

Description

The Array Plot block plots vectors or arrays of data.

Array Plot block window

The Array Plot is a vector plot where data is uniformly spaced along the x-axis. To modify the spacing, change the Sample Increment property.

Measurements available:

  • Data Cursors — Measure signal values using vertical and horizontal cursors.

  • Signal Statistics — Display the maximum, minimum, peak-to-peak difference, mean, median, and RMS values of a selected signal.

  • Peak Finder — Find maxima, showing the x-axis values at which they occur.

Ports

Input

expand all

Connect the signals you want to visualize. You can have up to 96 input ports. Input signals must have these characteristics:

  • Fixed number of channels, but size can be variable

  • Discrete, continuous, or constant sample time

  • Real or complex values

  • Floating- or fixed-point data type

  • 2-D and nonscalar

The Array Plot block supports inputs with different frame lengths.

This block accepts fixed-point input, but converts it to double for display.

Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated
Complex Number Support: Yes

Properties

expand all

For information about how to configure the Array Plot and use the toolstrip, see Configure Array Plot.

Plot

Select this option to show the legend on the plot. The names listed in the legend are taken from the Channel Names property.

From the legend, you can control which signals are visible. This control is equivalent to changing the visibility in the Style properties. In the scope legend, click a signal name to hide the signal in the scope. To show the signal, click the signal name again. To show only one signal, right-click the signal name, which hides all other signals. To show all signals, press Esc.

Note

The legend only shows the first 20 signals. Any additional signals cannot be controlled from the legend.

Tunable: Yes

Programmatic Use

Block Parameter: ShowLegend
Type: logical

  • On — Display magnitude and phase plots. If the signal is real, the scope plots the absolute value of the signal for the magnitude. The phase is 0 degrees for positive values and 180 degrees for negative values. This feature is useful for complex-valued input signals. If the input is a real-valued signal, selecting this check box returns the absolute value of the signal for the magnitude.

  • Off — Display signal plot. If the signal is complex, the scope plots the real and imaginary parts on the same y-axis.

Tunable: Yes

Programmatic Use

Block Parameter: PlotAsMagnitudePhase
Type: logical

Measurements

For more information about the measurements, see Use Array Plot Measurements.

Settings

Data and Axes

Select the type of spacing to use between x-axis data values.

  • Sample increment and X-offset — Use the Sample Increment and X-Offset values to specify x-axis data.

  • Custom — Specify a custom spacing between data values using the Custom X-data property.

Programmatic Use

Block Parameter: XDataMode
Type: character vector or string scalar
Values: 'Sample increment and X-offset' | 'Custom'

Specify the spacing between samples along the x-axis as a finite numeric scalar. The input signal is only y-axis data. x-axis data is set automatically based on both the Sample Increment and X-Offset values.

Example: When X-Offset is 0 and Sample Increment is 1, the x-axis values are set to 0, 1, 2, 3, 4, … .

Example: When X-Offset is -1 and Sample Increment is 0.25, the x-axis values are set to -1, -0.75, -0.5, -0.25, 0, … .

Tunable: Yes

Dependency

To use this property, set X-Data Mode to Sample increment and X-offset.

Programmatic Use

Block Parameter: SampleIncrement
Type: character vector or string scalar
Values: scalar

Specify the offset to apply to the x-axis, as a numeric scalar. x-axis data is set automatically based on both the Sample Increment and X-Offset values. The x-offset represents the first value on the x-axis.

Example: When X-Offset is 0 and Sample Increment is 1, the x-axis values are set to 0, 1, 2, 3, 4, … .

Example: When X-Offset is -1 and Sample Increment is 0.25, the x-axis values are set to -1, -0.75, -0.5, -0.25, 0, … .

Tunable: Yes

Dependency

To use this property, set X-Data Mode to Sample increment and X-offset.

Programmatic Use

Block Parameter: XOffset
Type: character vector or string scalar
Values: scalar

Specify the x-axis data values as a vector equal in length to the frame length of the inputs. If you use the default (empty vector) value, the x-axis data is uniformly spaced over the interval (0:L-1), where L is the frame length.

Example: A custom logarithmic x-axis data scaling is [0:log10(44100/2):1024]

Tunable: Yes

Dependency

To use this property, set X-Data Mode to Custom

Programmatic Use

Block Parameter: CustomXData
Type: character vector or string scalar
Values: scalar
Default: '[]'

Select Linear or Log as the x-axis scale.

Tunable: Yes

Dependency

If X-Offset is a negative value, you cannot set this parameter to Log.

Programmatic Use

Block Parameter: XScale
Type: character vector or string scalar

Select Linear or Log as the y-axis scale.

Tunable: Yes

Programmatic Use

Block Parameter: YScale
Type: character vector or string scalar

Specify the y-axis limits as a two-element numeric vector, [ymin, ymax].

If Magnitude and Phase is off, the default is [-10,10]. If the magnitude/phase plot is on, the default is [0,10].

Tunable: Yes

Dependencies

When PlotAsMagnitudePhase is true, this property specifies the y-axis limits of only the magnitude plot. The y-axis limits of the phase plot are always [-180,180].

Programmatic Use

Block Parameter: YLimits
Type: character vector or string scalar
Value: two-element numeric vector

  • Stem — Stem graph displayed as circles at the input value with vertical lines to the x-axis.

  • Line — Line graph

  • Stairs — Stair-step graph. A stair-step graph is made up of only horizontal and vertical lines. Each horizontal line represents the signal value for a discrete sample period and is connected to two vertical lines. Each vertical line represents the change in the signal value occurring at a specific sample time.

Tunable: Yes

Programmatic Use

Block Parameter: PlotType
Type: character vector or string scalar

Select this option to show grid lines on the plot.

Tunable: Yes

Programmatic Use

Block Parameter: ShowGrid
Type: logical

Display and Labels

Specify a title for display. To use the input signal name for the title, enter %<SignalLabel>.

Tunable: Yes

Programmatic Use

Block Parameter: Title
Type: character vector or string scalar
Default: ''

Specify the text for the scope to display below the x-axis.

Tunable: Yes

Programmatic Use

Block Parameter: XLabel
Type: character vector or string scalar
Default: ''

Specify the text to display on the y-axis. To display signal units, add (%<SignalUnits>) to the label. At the beginning of a simulation, Simulink replaces (%<SignalUnits>) with the units associated with the signals.

Example: For a velocity signal with units of m/s, enter Velocity (%<SignalUnits>).

Tunable: Yes

Dependency

If you click on Magnitude and Phase, this property does not apply. The y-axes are labeled Magnitude and Phase.

Programmatic Use

Block Parameter: YLabel
Type: character vector or string scalar
Default: ''

Property Inspector Only

The number of input ports to the block, specified as an integer between 1 and 96. To change the number of input ports, drag a new input signal line to the block and the block will auto-create new ports.

Programmatic Use

Block Parameter: NumInputPorts
Type: character vector or string scalar
Values: scalar between 1 and 96

Select this parameter to automatically open the Array Plot window when you run the simulation.

This parameter is only available from the Property Inspector.

Programmatic Use

Block Parameter: OpenAtSimulationStart
Type: logical

Input channel names, specified as a character vector, string, or array of either. The names appear in the legend, Settings, and Measurements panels. If you do not specify names, the channels are labeled as Channel 1, Channel 2, etc.

Example: ["A","B"]

Dependency

To see channel names, set Legend to true.

Programmatic Use

Block Parameter: ChannelNames
Type: cell array of character vectors or string array

  • Auto — If Title and Y-Label properties are not specified, maximize all plots.

  • On — Maximize all plots. Values in Title and Y-label are hidden.

  • Off — Do not maximize plots.

Hover over the array plot to see the maximize axes button .

Tunable: Yes

Programmatic Use

Block Parameter: MaximizeAxes
Type: character vector or string scalar

  • OnceAtStop — Scale y-axis after the simulation is finished.

  • Manual — Manually scale y-axis range with the Scale Y-axis Limits toolbar button.

  • Auto — Scale y-axis range during and after simulation.

  • Updates — Scale y-axis after the number of time steps specified in the Number of updates text box (100 by default). Scaling occurs only once during each run.

Tunable: Yes

Programmatic Use

Block Parameter: AxesScaling
Type: character vector or string scalar

Set this property to delay auto scaling the y-axis.

Tunable: Yes

Dependency

To enable this property, set Axes scaling to AfterNUpdates.

Programmatic Use

Block Parameter: AxesScalingNumUpdates
Type: character vector or string scalar
Values: scalar

Block Characteristics

Data Types

Boolean | double | enumerated | fixed point | half | integer | single

Direct Feedthrough

no

Multidimensional Signals

yes

Variable-Size Signals

yes

Zero-Crossing Detection

no

Extended Capabilities

Version History

Introduced in R2015b

expand all