2.2 X-Y PLOTS AND ANNOTATIONS
The plot command generates a linear x-y plot. There are three variations of the
plot command.
(a) plot(x)
(b) plot(x, y)
(c) plot(x1, y1, x2, y2, x3, y3, ..., xn, yn)
If x is a vector, the command
plot(x)
will produce a linear plot of the elements in the vector x as a function of the
index of the elements in x. MATLAB will connect the points by straight lines.
If x is a matrix, each column will be plotted as a separate curve on the same
graph. For example, if
x = [ 0 3.7 6.1 6.4 5.8 3.9 ];
then, plot(x) results in the graph shown in Figure 2.1.
If x and y are vectors of the same length, then the command
plot(x, y)
plots the elements of x (x-axis) versus the elements of y (y-axis). For example,
the MATLAB commands
t = 0:0.5:4;
y = 6*exp(-2*t);
plot(t,y)
will plot the function y(t) = 6e−2t at the following times: 0, 0.5, 1.0, …, 4 .
The plot is shown in Figure 2.2.
To plot multiple curves on a single graph, one can use the plot command
with multiple arguments, such as
plot(x1, y1, x2, y2, x3, y3, ..., xn, yn)
The variables x1, y1, x2, y2, etc., are pairs of vector. Each x-y pair is
graphed, generating multiple lines on the plot. The above plot command
allows vectors of different lengths to be displayed on the same graph.
MATLAB automatically scales the plots. Also, the plot remains as the current
plot until another plot is generated; in which case, the old plot is erased. The
hold command holds the current plot on the screen, and inhibits erasure and
rescaling. Subsequent plot commands will overplot on the original curves.
The hold command remains in effect until the command is issued again.
When a graph is drawn, one can add a grid, a title, a label and x- and y-axes
to the graph. The commands for grid, title, x-axis label, and y-axis label are
grid (grid lines), title (graph title), xlabel (x-axis label), and ylabel (y-axis
label), respectively. For example, Figure 2.2 can be titled, and axes labeled
with the following commands:
t = 0:0.5:4;
y = 6*exp(-2*t);
plot(t, y)
title('Response of an RC circuit')
xlabel('time in seconds')
ylabel('voltage in volts')
grid
To write text on a graphic screen beginning at a point (x, y) on the graphic
screen, one can use the command
text(x, y, ’text’)
For example, the statement
text(2.0, 1.5, ’transient analysis’)
will write the text, transient analysis, beginning at point (2.0,1.5). Multiple
text commands can be used. For example, the statements
plot(a1,b1,a2,b2)
text(x1,y1,’voltage’)
text(x2,y2,’power’)
will provide texts for two curves: a1 versus b1 and a2 versus b2. The text will
be at different locations on the screen provided x1 ≠ x2 or y1 ≠ y2.
If the default line-types used for graphing are not satisfactory, various symbols
may be selected. For example:
plot(a1, b1, ’*’)
draws a curve, a1 versus b1, using star(*) symbols, while
plot(a1, b1, ’*’, a2, b2, ’+’)
uses a star(*) for the first curve and the plus(+) symbol for the second curve.
Other print types are shown in Table 2.2.