0% found this document useful (0 votes)
229 views32 pages

MATLAB - Lecture 22A: Two Dimensional Plots / Chapter 5

This document discusses plotting two-dimensional graphs in MATLAB. It covers the basic plot() command to create a graph from x and y data vectors. It also discusses the fplot() command to plot functions, and using line specifiers, hold on/off commands, and formatting commands like title, legend, axis etc. to customize plots. Examples are provided to demonstrate plotting data, functions, and formatting plots with multiple curves, labels, legends and more.

Uploaded by

Pankaj Jadhav
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
229 views32 pages

MATLAB - Lecture 22A: Two Dimensional Plots / Chapter 5

This document discusses plotting two-dimensional graphs in MATLAB. It covers the basic plot() command to create a graph from x and y data vectors. It also discusses the fplot() command to plot functions, and using line specifiers, hold on/off commands, and formatting commands like title, legend, axis etc. to customize plots. Examples are provided to demonstrate plotting data, functions, and formatting plots with multiple curves, labels, legends and more.

Uploaded by

Pankaj Jadhav
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 32

MATLAB - Lecture 22A

Two Dimensional Plots / Chapter 5


Topics Covered: 1. Plotting basic 2-D plots. The plot command. The fplot command. Plotting multiple graphs in the same plot. Formatting plots.

105
MAKING X-Y PLOTS
MATLAB has many functions and commands that can be used to
create various types of plots.

In our class we will only create two dimensional x y plots.

Plot title
1200

EXAMPLE OF A 2-D PLOT


Light Intensity as a Function of Distance
Theory Experiment

106
Legend

y axis label

1000

Text
800

Tick-mark

INTENSITY (lux)

Comparison between theory and experiment. 600

400

Data symbol

200

10

12

14

16 DISTANCE (cm)

18

20

22

24

x axis label

Tick-mark label

TWO-DIMENSIONAL plot() COMMAND


The basic 2-D plot command is:

106110

plot(x,y)
where x is a vector (one dimensional array), and y is a vector. Both vectors must have the same number of elements. The plot command creates a single curve with the the abscissa (horizontal axis) and the (vertical axis).

x values on

y values on the ordinate

The curve is made from segments of lines that connect the points that are defined by the x and y coordinates of the elements in the two vectors.

CREATING THE X AND Y VECTORS

106110

If data is given, the information is entered as the elements of the vectors x and y. If the values of

y are determined by a function from the values of x, than a vector x is created first, and then the values of y are calculated for each value of x. The spacing (difference) between the elements of x must be such that the plotted curve

will show the details of the function.

PLOT OF GIVEN DATA


Given data:
x y 1 2 2 6.5 3 7 5 7 7 5.5 7.5 4 8 6 10 8

106107

A plot can be created by the commands shown below. This can be done in the Command Window, or by writing and then running a script file. >> x=[1 2 3 5 7 7.5 8 10]; >> y=[2 6.5 7 7 5.5 4 6 8]; >> plot(x,y) Once the plot command is executed, the Figure Window opens with the following plot.

PLOT OF GIVEN DATA

106107

LINE SPECIFIERS IN THE plot() COMMAND


Line specifiers can be added in the plot command to: Specify the style of the line. Specify the color of the line. Specify the type of the markers (if markers are desired).

106107

plot(x,y,line specifiers)

LINE SPECIFIERS IN THE plot() COMMAND

106107

plot(x,y,line specifiers)

Line Style Solid dotted dashed dash-dot

Specifier

Line Color red green blue Cyan magenta yellow black

Specifier

Marker Specifier Type plus sign circle asterisk point square diamond + o * . s d

: --.

r g b c m y k

LINE SPECIFIERS IN THE plot() COMMAND

107108

The specifiers are typed inside the plot() command as strings. Within the string the specifiers can be typed in any order. The specifiers are optional. This means that none, one, two, or all the three can be included in a command. EXAMPLES:

plot(x,y)
plot(x,y,r) plot(x,y,--y)

A solid blue line connects the points with no markers.


A solid red line connects the points with no markers. A yellow dashed line connects the points.

plot(x,y,*)
plot(x,y,g:d)

The points are marked with * (no line between the points.)
A green dotted line connects the points which are marked with diamond markers.

PLOT OF GIVEN DATA USING LINE SPECIFIERS IN THE plot() COMMAND


Year Sales (M) 1988 127 1989 130 1990 136 1991 145 1992 158 1993 178 1994 211

110111

>> year = [1988:1:1994]; >> sales = [127, 130, 136, 145, 158, 178, 211]; >> plot(year,sales,'--r*')

Line Specifiers: dashed red line and asterisk markers.

PLOT OF GIVEN DATA USING LINE SPECIFIERS IN THE plot() COMMAND

110111

Dashed red line and asterisk markers.

CREATING A PLOT OF A FUNCTION


Consider:

111112

y 3.5

0.5 x

cos(6 x)

for

2 x 4

A script file for plotting the function is:


% A script file that creates a plot of % the function: 3.5^(-0.5x)*cos(6x) x = [-2:0.01:4]; Creating a vector with spacing of 0.01. Calculating a value of y for each x.

y = 3.5.^(-0.5*x).*cos(6*x);
plot(x,y)

Once the plot command is executed, the Figure Window opens with the following plot.

A PLOT OF A FUNCTION

111112

y 3.50.5 x cos(6 x)

for

2 x 4

CREATING A PLOT OF A FUNCTION


Below is the previous plot with spacing of 0.3.

111112

If the vector x is created with large spacing, the graph is not accurate.

x = [-2:0.3:4]; y = 3.5.^(-0.5*x).*cos(6*x); plot(x,y)

THE fplot COMMAND


The fplot command can be used to plot a function with the form: y

112113

= f(x)

fplot(function,limits)
The function is typed in as a string. The limits is a vector with the domain of x, and optionally with limits of the y axis:

[xmin,xmax]

or

[xmin,xmax,ymin,ymax]

Line specifiers can be added.

PLOT OF A FUNCTION WITH THE fplot() COMMAND


A plot of:

112113

y x 2 4 sin(2 x) 1

for

3 x 3

>> fplot('x^2 + 4 * sin(2*x) - 1', [-3 3])

PLOTTING MULTIPLE GRAPHS IN THE SAME PLOT


Plotting two (or more) graphs in one plot: 1. Using the plot command. 2. Using the hold on, hold off commands.

114116

USING THE plot() COMMAND TO PLOT MULTIPLE GRAPHS IN THE SAME PLOT

114115

plot(x,y,u,v,t,h)
Plots three graphs in the same plot:

y versus x, v versus u,
Additional curves can be added.

and h versus t.

By default, MATLAB makes the curves in different colors.

The curves can have a specific style by adding specifiers after each pair, for example:

plot(x,y,-b,u,v,r,t,h,g:)

USING THE plot() COMMAND TO PLOT MULTIPLE GRAPHS IN THE SAME PLOT
Plot of the function, derivatives, for x = [-2:0.01:4]; y = 3*x.^3-26*x+6;

114115

y 3x 3 26 x 10 and its first and second 2 x 4 , all in the same plot.


vector x with the domain of the function. Vectory with the function value at each x. 2 x 4 Vector yd with values of the first derivative. Vector ydd 4 values of the second derivative. with 2 x

yd = 9*x.^2-26;
ydd = 18*x;

plot(x,y,'-b',x,yd,'--r',x,ydd,':k') Create three graphs, y vs. x (solid blue line), yd vs. x (dashed red line), and ydd vs. x (dotted black line) in the same figure.

USING THE plot() COMMAND TO PLOT MULTIPLE GRAPHS IN THE SAME PLOT
120 100 80 60 40 20 0 -20 -40 -2

114115

-1

115USING THE hold on, hold off, COMMANDS 116


TO PLOT MULTIPLE GRAPHS IN THE SAME PLOT hold on
Holds the current plot and all axis properties so that

subsequent plot commands add to the existing plot.

hold off Returns to the default mode whereby plot commands


erase the previous plots and reset all axis properties before drawing new plots.

This method is useful when all the information (vectors) used for the plotting is not available a the same time.

115USING THE hold on, hold off, COMMANDS 116


TO PLOT MULTIPLE GRAPHS IN THE SAME PLOT
Plot of the function,
derivatives, for

y 3x 3 26 x 10 and its first and second 2 x 4 all in the same plot.

x = [-2:0.01:4]; y = 3*x.^3-26*x+6; yd = 9*x.^2-26; ydd = 18*x; plot(x,y,'-b') hold on First graph is created.

plot(x,yd,'--r')
plot(x,ydd,':k') hold off

Two more graphs are created.

EXAMPLE OF A FORMATTED 2-D PLOT


Plot title
Light Intensity as a Function of Distance
1200

106
Legend

y axis label

Theory Experiment 1000

Text
800

Tick-mark

INTENSITY (lux)

Comparison between theory and experiment. 600

400

Data symbol
200

10

12

14

16 18 DISTANCE (cm)

20

22

24

x axis label

Tick-mark label

FORMATTING PLOTS
A plot can be formatted to have a required appearance.

116122

With formatting you can:


Add title to the plot. Add labels to axes. Change range of the axes. Add legend. Add text blocks. Add grid.

FORMATTING PLOTS
There are two methods to format a plot:

116122

1. Formatting commands.
In this method commands, that make changes or additions to the plot, are entered after the plot() command. This can be done in the Command Window, or as part of a program in a script file. 2. Formatting the plot interactively in the Figure Window. In this method the plot is formatted by clicking on the plot and using the menu to make changes or add details.

FORMATTING COMMANDS
title(string)
Adds the string as a title at the top of the plot.

116122

xlabel(string)
Adds the string as a label to the x-axis.

ylabel(string)
Adds the string as a label to the y-axis.

axis([xmin xmax ymin ymax])


Sets the minimum and maximum limits of the x- and y-axes.

FORMATTING COMMANDS legend(string1,string2,string3)

116122

Creates a legend using the strings to label various curves (when several curves are in one plot). The location of the legend is specified by the mouse.

text(x,y,string)
Places the string (text) on the plot at coordinate x,y relative to the plot axes.

gtext(string)
Places the string (text) on the plot. When the command executes the figure window pops and the text location is clicked with the mouse.

EXAMPLE OF A FORMATTED PLOT


Below is a script file of the formatted light intensity plot (2nd slide). (Some of the formatting options were not covered in the lectures, but are described in the book) x=[10:0.1:22]; y=95000./x.^2; xd=[10:2:22];

120121

Creating vector x for plotting the theoretical curve. Creating vector y for plotting the theoretical curve. Creating a vector with coordinates of data points. Creating a vector with light intensity from data.

yd=[950 640 460 340 250 180 140];


plot(x,y,'-','LineWidth',1.0) hold on plot(xd,yd,'ro--','linewidth',1.0,'markersize',10) hold off

EXAMPLE OF A FORMATTED PLOT


Formatting of the light intensity plot (cont.) xlabel('DISTANCE (cm)') ylabel('INTENSITY (lux)') title('\fontname{Arial}Light Intensity as a Function of Distance','FontSize',14)

120121

Labels for the axes. Title for the plot.

axis([8 24 0 1200])
text(14,700,'Comparison between theory and experiment.','EdgeColor','r','LineWidth',2)

Setting limits of the axes. Creating text. Creating a legend.

legend('Theory','Experiment',0)

The plot that is obtained is shown again in the next slide.

EXAMPLE OF A FORMATTED PLOT

120121

121122 FORMATTING A PLOT IN THE FIGURE WINDOW


Once a figure window is open, the figure can be formatted interactively. Use the insert menu to

Use Figure, Axes, and Current ObjectProperties in the Edit menu

Click here to start the plot edit mode.

You might also like