Main Content


Create trajectory plotter


trajPlotter = trajectoryPlotter(tp) creates a trajectory plotter for use with the theater plot tp.


trajPlotter = trajectoryPlotter(tp,Name,Value) creates a trajectory plotter with additional options specified by one or more Name,Value pair arguments.


collapse all

This example shows how to create an animation of a platform moving on a trajectory.

First, create a trackingScenario and add waypoints for a trajectory.

ts = trackingScenario;
height = 100;
d = 1;
wayPoints = [ ...
    -30   -25   height;
    -30    25-d height;
    -30+d  25   height;
    -10-d  25   height;
    -10    25-d height;
    -10   -25+d height;
    -10+d -25   height;
    10-d -25   height;
    10   -25+d height;
    10    25-d height;
    10+d  25   height;
    30-d  25   height;
    30    25-d height;
    30   -25+d height;
    30   -25   height];

Specify a time for each waypoint.

elapsedTime = linspace(0,10,size(wayPoints,1));

Next, create a platform in the tracking scenario and add trajectory information using the trajectory method.

target = platform(ts);
traj = waypointTrajectory('Waypoints',wayPoints,'TimeOfArrival',elapsedTime);
target.Trajectory = traj;

Record the tracking scenario to retrieve the platform's trajectory.

r = record(ts);
pposes = [r(:).Poses];
pposition = vertcat(pposes.Position);

Create a theater plot to display the recorded trajectory.

tp = theaterPlot('XLim',[-40 40],'YLim',[-40 40]);
trajPlotter = trajectoryPlotter(tp,'DisplayName','Trajectory');

Figure contains an axes. The axes contains an object of type line. This object represents Trajectory.

Animate using the platformPlotter.

trajPlotter = platformPlotter(tp,'DisplayName','Platform');

while advance(ts)
    p = pose(target,'true');
    plotPlatform(trajPlotter, p.Position);

Figure contains an axes. The axes contains 2 objects of type line. These objects represent Trajectory, Platform.

This animation loops through all the generated plots.

Input Arguments

collapse all

Theater plot, specified as a theaterPlot object.

Name-Value Pair Arguments

Specify optional comma-separated pairs of Name,Value arguments. Name is the argument name and Value is the corresponding value. Name must appear inside quotes. You can specify several name and value pair arguments in any order as Name1,Value1,...,NameN,ValueN.

Example: 'LineStyle','--'

Plot name to display in legend, specified as the comma-separated pair consisting of 'DisplayName' and a character vector or string scalar. If no name is specified, no entry is shown.

Example: 'DisplayName','Radar Detections'

Trajectory color, specified as the comma-separated pair consisting of 'Color' and a character vector, a string scalar, an RGB triplet, or a hexadecimal color code.

Line style used to plot the trajectory, specified as one of these values.


Dotted line (default)


Solid line


Dashed line


Dash-dotted line

Line width of the trajectory, specified in points size as the comma-separated pair consisting of 'LineWidth' and a positive scalar.

Tag to associate with the plotter, specified as the comma-separated pair consisting of 'Tag' and a character vector or string scalar. The default value is 'PlotterN', where N is an integer that corresponds to the Nth plotter associated with the theaterPlot.

Tags provide a way to identify plotter objects, for example when searching using findPlotter.

Introduced in R2018b