Control Array Plot block appearance and behavior from MATLAB
Array Plot Configuration properties control the appearance and behavior of an
Array Plot block. Create a configuration object with get_param
, and
then change property values using the object with dot notation.
MyScopeConfiguration = get_param(gcbh,'ScopeConfiguration')
creates a new Array Plot Configuration object. If you do not provide the full path to
the block, you must first select the block in the model.
Name
— Window name'Array Plot'
(default) | character vector | string scalarSpecify the name of the scope. This name appears as the title of the scope's figure window. To
specify a title of a scope plot, use the
Title
property.
Data Types: char
| string
NumInputPorts
— Number of input ports'1'
(default) | character vectorNumber of input ports on a scope block, specified as a character vector. The maximum number of input ports is 96.
Select File > Number of Input Ports.
Position
— Scope window position and size in pixels[left bottom width height]
Specify, in pixels, the size and location of the scope window as a four-element vector of the form [left
bottom width height]
. By default, the scope window appears in the center of your screen with a width of 800
pixels and height of 450 pixels. The default values for this property may change depending on your screen resolution.
OpenAtSimulationStart
— Open scope when starting simulationtrue
(default) | false
Set this property to true
to open the scope when the simulation starts. Set this property to false
to prevent the scope from opening at the start of simulation.
Select File > Open at Start of Simulation.
Data Types: logical
XDataMode
— Source of x-data spacing'Sample increment and
X-offset'
(default) | 'Custom'
Specify whether to use the SampleIncrement and XOffset property values to determine spacing, or specify
your own custom spacing. If you specify 'Custom'
, you
also must specify the CustomXData property values.
Open the Configuration Properties. On the Main tab, set X-data mode.
SampleIncrement
— Sample increment of input'1'
(default) | character vectorThe spacing between samples along the x-axis,
specified as a finite scalar in a character vector. The input signal is
only y-axis data. x-axis data is
set automatically based on the XOffset and SampleIncrement
properties. For example, when Xoffset
is
0
and SampleIncrement
is
1
, the x-data for the input
signal is set to 0, 1, 2, 3, 4, and so on. If you set
SampleIncrement
to 0.25, the
x-axis data becomes 0, 0.25, 0.5, 0.75, 1, and so
on.
Open the Configuration Properties. On the Main tab, set Sample increment.
To use this property, set XDataMode to 'Sample increment and
X-offset'
.
XOffset
— Display offset of x-axis'0'
(default) | character vectorSpecify the offset to display on the x-axis.
Open the Configuration Properties. On the Main tab, set X-offset.
To use this property, set XDataMode to 'Sample increment and
X-offset'
.
CustomXData
— x-data values'[]'
(default) | character vectorSpecify the desired x-data values as a character vector. The row or column vector must be equal to the frame length of the inputs. If you use the default (empty vector) value, the x-data is uniformly spaced and set to (0:L–1), where L is the frame length.
Example: scopeConfiguration.XDataMode = 'Custom';
scopeConfiguration.CustomXData =
'logspace(0,log10(44100/2),1024)'
Open the Configuration Properties. On the Main tab, set Custom X-Data.
To use this property, set XDataMode to 'Custom'
.
XScale
— Scale of x-axis'Linear'
(default) | 'Log'
Specify whether the scale of the x-axis is
'Linear'
or 'Log'
. If
XOffset is a negative value, you cannot set this
property to 'Log'
.
Open the Configuration Properties. On the Main tab, set X-axis scale.
YScale
— Scale of y-axis'Linear'
(default) | 'Log'
Specify whether the scale of the y-axis is
'Linear'
or 'Log'
.
Open the Configuration Properties. On the Main tab, set Y-axis scale.
MaximizeAxes
— Maximize axes control"Auto"
(default) | "On"
| "Off"
Specify whether to display the scope in maximized-axes mode. In this mode, the axes are expanded to fit into the entire display. To conserve space, labels do not appear in each display. Instead, tick-mark values appear on top of the plotted data. You can select one of the following options:
"Auto"
— The axes appear maximized in all displays only
if the Title
and YLabel
properties are empty for every display. If you enter
any value in any display for either of these properties, the axes are not
maximized.
"On"
— The axes appear maximized in all displays. Any values entered into the
Title
and YLabel
properties are hidden.
"Off"
— None of the axes appear maximized.
Tunable: Yes
Open the Configuration Properties. On the Main tab, set Maximize axes.
Data Types: char
| string
Title
— Display title''
(default) | character vector | string scalarSpecify the display title as a character vector or string.
Tunable: Yes
Open the Configuration Properties. Set Title.
Data Types: char
| string
ShowLegend
— Show legendfalse
(default) | true
To show a legend with the input names, set this property to true
.
From the legend, you can control which signals are visible. This control is equivalent to changing the visibility in the Style dialog box. 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. To show all signals, press Esc.
Note
The legend only shows the first 20 signals. Any additional signals cannot be viewed or controlled from the legend.
Tunable: Yes
Open the Configuration Properties. On the Display tab, select Show legend.
Data Types: logical
ChannelNames
— Channel namesSpecify the input channel names as a cell array of character vectors. The names appear in the legend,
Style dialog box, and Measurements panels. If you do not specify names, the
channels are labeled as Channel 1
, Channel 2
, etc.
Tunable: Yes
To see channel names, set ShowLegend
to true
.
On the legend, double-click the channel name.
Data Types: char
ShowGrid
— Display gridtrue
(default) | false
Set this property to true
to show grid lines on the
plot.
Open the Configuration Properties. On the Display tab, set Show grid.
PlotAsMagnitudePhase
— Plot signal as magnitude and phasefalse
(default) | true
When you set this property to true
, the scope plots the magnitude and phase of the input
signal on two separate axes within the same active display. When you set this property to
false
, the scope plots the real and imaginary parts of the input signal on two separate
axes within the same active display.
This property is useful for complex-valued input signals. Turning on this property affects the phase for real-valued input signals. When the amplitude of the input signal is nonnegative, the phase is 0 degrees. When the amplitude of the input signal is negative, the phase is 180 degrees.
Tunable: Yes
Open the Configuration Properties. On the Display tab, select Plot signals as magnitude and phase.
XLabel
— x-axis label""
(default) | character vector | string scalarSpecify the text for the scope to display below the x-axis.
Tunable: Yes
Open the Configuration Properties. On the Display tab, set X-label.
Data Types: char
| string
YLabel
— y-axis label"Amplitude"
(default) | character vector | string scalarSpecify the text for the scope to display to the left of the y-axis.
Tunable: Yes
This property applies only when PlotAsMagnitudePhase
is false
. When
PlotAsMagnitudePhase
is true
, the two y-axis labels are
read-only values. The y-axis labels are set to "Magnitude"
and
"Phase"
for the magnitude plot and the phase plot, respectively.
Open the Configuration Properties. On the Display tab, set Y-Label.
Data Types: char
| string
YLimits
— y-axis limits[-10,10]
(default) | [ymin, ymax]
Specify the y-axis limits as a two-element numeric vector, [ymin,
ymax]
.
If PlotAsMagnitudePhase
is false
, the default is
[-10,10]
. If PlotAsMagnitudePhase
is true
, the default is
[0,10]
.
Tunable: Yes
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]
.
Open the Configuration Properties. On the Display tab, set Y-limits (Minimum) and Y-limits (Maximum).
PlotType
— Control type of plot'Stem'
(default) | 'Line'
| 'Stairs'
Specify the type of plot to use for all the input signals displayed in the scope window:
'Stem'
– The scope displays the input signal as circles with vertical lines extending down to the x-axis at each of the sampled values. This option is similar to the stem
function.
'Line'
– The scope displays the input signal as lines connecting each of the sampled values. This option is similar to the line
or plot
functions.
'Stairs'
– The scope displays the input
signal as a stair-step graph. A stair-step graph is made up of
only horizontal lines 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 a
change in values occurring at a sample. This option is similar to
the stairs
function.
Stair-step graphs are useful for drawing time history graphs of
digitally sampled data.
Open the Style dialog box and set Plot type.
Data Types: char
| string
AxesScaling
— Axes scaling mode"OnceAtStop"
(default) | "Auto"
| "Manual"
| "Updates"
Specify when the scope scales the axes. Valid values are:
"Auto"
— The scope scales the axes
as needed to fit the data, both during and after
simulation.
"Manual"
— The scope does not scale
the axes automatically.
"OnceAtStop"
— The scope scales the
axes when the simulation stops.
"Updates"
— The scope scales the
axes once and only once after 10 updates.
Select Tools > Axes Scaling.
Data Types: char
| string
AxesScalingNumUpdates
— Number of updates before scaling"10"
(default) | integer character vector | integer string scalarSet this property to delay auto scaling the y-axis.
To enable this property, set AxesScaling
to
"Updates"
.
Open the Axes Scaling dialog box and set Number of updates.
Data Types: char
| string
Create a new Simulink® model with a randomly-generated name.
sysname='ArrayPlotExample';
new_system(sysname);
Add a new Array Plot block to the model.
add_block('built-in/ArrayPlot',[sysname,'/ArrayPlot'])
Call the get_param
(Simulink) function to retrieve the default Array Plot block configuration properties.
scopeConfig = get_param([sysname,'/ArrayPlot'],'ScopeConfiguration')
scopeConfig = ArrayPlotConfiguration with properties: Name: 'ArrayPlot' NumInputPorts: '1' OpenAtSimulationStart: 1 Visible: 0 Position: [240 287 800 450] XDataMode: 'Sample increment and X-offset' SampleIncrement: '1' XOffset: '0' CustomXData: '[]' XScale: 'Linear' YScale: 'Linear' MaximizeAxes: 'Auto' Title: '' ShowLegend: 0 ChannelNames: {''} ShowGrid: 1 PlotAsMagnitudePhase: 0 XLabel: '' YLabel: 'Amplitude' YLimits: [-10 10] PlotType: 'Stem' AxesScaling: 'Manual' AxesScalingNumUpdates: '10'
This example shows how to change Array Plot block behavior and appearance from the MATLAB command line.
Open the model and create an Array Plot block configuration object.
model = 'zoomfftExample'; open_system(model) sim(model) open_system([model '/View Spectrum']) ArrayPlotConfiguration = get_param([model '/View Spectrum'],'ScopeConfiguration');
Change the title of the Array Plot and the axes scaling.
ArrayPlotConfiguration.Title = 'My Array Plot'; ArrayPlotConfiguration.AxesScaling = 'Manual'; ArrayPlotConfiguration.YLimits = [-1 100];
You have a modified version of this example. Do you want to open this example with your edits?