0% found this document useful (0 votes)
12 views

2d Plot

Uploaded by

thanusavelan04
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views

2d Plot

Uploaded by

thanusavelan04
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 77

Chapter 5

Two-Dimensional Plots

MATLAB An Introduction With Applications, 6th Edition Slide deck by


Dr. Amos Gilat Dr. Greg Reese
The Ohio State University Miami University
5.0

This chapter will cover 2D (two-


dimensional) plots. Many options:
• Linear, semi-logarithmic, logarithmic axes
• Line type, color, thickness
• Lots of different data-point markers
• Grid lines, titles, text comments, legends
• Subplots
• Bar, stair, polar plots

2
5.0

Important parts of a 2D plot

3
5.1 THE
plot
COMM
AND

plot command used to make basic


2D plots. Simplest form is
plot(y)
• Plots vector y on vertical axis, numbers
1 through N on horizontal axis
(N = number of points in y)
• If there's a Figure Window, draws in it.
Otherwise, creates a new Figure
Window and draws in that

4
5.1 THE plot COMMAND

plot(y) default values


• Both axes linear
MATLAB chooses axis ranges so that
end values are nice
• Points connected by straight lines
• No point markers
• Points and lines in blue

5
5.1 THE plot COMMAND

Example
>> y = [ 2.1 2.1 2.1 1 0 -1 -2.1 -2.1 -2.1 ];
>> plot( y )

6
5.1 THE plot COMMAND

If after issuing plot command, no


Figure Window appears, window is
TIP buried. Click on Figure Window icon
on task bar to make window appear

7
5.1 THE plot COMMAND

Second simplest form is


plot(x,y)
• x and y are vectors that have same size
(number of elements) but any dimension
• x-values on horizontal axis, y-values on
vertical axis
• Default values same as for plot(x)

8
5.1 THE plot COMMAND

Example
>> x=[1.1 1.8 3.2 5.5 7 7.5 8 10];
>> y=[2 6.5 7 7 5.5 4 6 8];
>> plot(x,y)

9
5.1 THE plot COMMAND

To use values other than defaults,

10
5.1 THE plot COMMAND

Line specifiers define style and color


of lines, and marker types
Line Styles

Line Colors

11
5.1 THE plot COMMAND

Marker Types

12
5.1 THE plot COMMAND

13
5.1 THE plot COMMAND

Property Name and Property Value:


• In plot command, type property name in
quote marks, then comma, then value

14
5.1 THE plot COMMAND

A note about line specifiers and properties:

15
5.1.1
Plot of
Given
Data

16
5.1.2
Plot of a
Functio
n

One way to plot a function of an


independent variable:
1. Create a vector of values of the
independent variable
2. Create a vector of value of
function at every element of
above vector
3. Plot using plot(x,y)

17
5.1.2
Plot of a
Functio
n

18
5.1.2
Plot of a
Functio
n

To copy entire Figure Window into


another program, e.g., Word,
PowerPoint
1. Click on Figure Window to make
it current window
2. Select ALT+PRNTSCRN
3. Paste into other application

19
5.1.2
Plot of a
Functio
n

To copy just plot area of Figure


Window into another program,
e.g., Word, PowerPoint
1. In Figure Window, select
Edit, then Copy Figure
2. Paste into other application

20
5.2 THE fplot COMMAND

fplot plots a function y = f(x)


between given limits

• Specify function in form of anonymous


function (see Section 7.8)
For function f(x), anonymous form is @(x)
f(x) e.g., for , anonymous function is @(x)
8*x.^2+5*cos(x)
• Function can include MATLAB's
21
5.2 THE fplot COMMAND

fplot('function',limits,'line specifiers')
• Independent variable in function can be any
letter, e.g.,
8*x^2+5*cos(x) or 8*t^2+5*cos(t)
• limits – two- or four-element vector that
specifies plot axes limits
[xmin xmax] – limits on x-axis
[xmin xmax ymin ymax] – limits on both
axes
• line specifiers – same as in plot
22
5.2 THE fplot COMMAND

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

23
5.3 PLOTTING MULTIPLE GRAPHS IN THE SAME PLOT

Often want to graph more than one set


of data on the same plot

MATLAB can do this three different ways

24
5.3.1
Using
the
plot

Plot two more graphs on same plot as


Comma
nd

follows (example for three graphs)


plot(x,y,u,v,t,h)
• Plots y vs. x, v vs. u, h vs. t
• Vectors of each pair must be same size
Can be different than sizes in other pairs
• Can use line specifiers by putting in
triplets (x-data, y-data, specifier), e.g.,
plot(x,y,'-b', u,v,'--r','t,h,'g:')

25
5.3.1
Using
the
plot
Comma
nd

26
5.3.2
Using
the
hold

Normally, each time you execute plot


on and
hold
off
Comma
nds it erases previous plot and draws new
one. To change this behavior:
• Draw the first graph with plot
• Issue the command hold on
• Call plot for each of the remaining graphs
• Issue the command hold off
Graphs drawn after hold on are added
to plot. Graphs drawn after hold off
erase plot
27
5.3.2
Using
the
hold
on and
hold
off
Comma
nds

28
5.3.3
Using
the
line
Comma
nd

line command adds additional graphs


to an existing plot
line(x,y,'PropertyName','PropertyValue')
Example
line(x,y,'linestyle','--','color','r','marker','o')

adds graph drawn with dashed red line


and circular markers to current plot

29
5.3.3
Using
the
line
Comma
nd

30
5.4 FORMATTING A PLOT

Will learn how to spruce up a plot by adding


• Axis labels
• Title
• Legend
• Text
• Grid
• Custom axis ranges

31
5.4.1
Formatt
ing a
Plot
Using
Comma
nds plot or fplot make basic plot. After
issuing that command, can use
• xlabel('some text') writes
label below horizontal axis
Example: xlabel('Time (sec)')
• ylabel('some text') writes
label to left of vertical axis
Example: ylabel('Current
(mA)')
32
5.4.1
Formatt
ing a
Plot
Using
• title('Some text') writes title above plot
Comma
nds

Example: title('Diode Current')


• text(x,y,'Some text') places text in
figure with first character at (x,y)
Example:
text(x,y,'Peak 3.5 sec after first')
• gtext('Some text') – figure window
opens, user clicks on graph where she wants text
to appear

33
5.4.1
Formatt
ing a
Plot
Using
Comma
nds
legend('text1','text2',...,pos)
writes legend
• For each graph (data set) displays short line in
same style as graph line and adds specified text
First string goes with first graph plotted, second
string goes with second graph plotted, etc.
• Most useful for plots having at least two graphs
• pos values in book are obsolete as of MATLAB
7.0 (R14). Type help legend or see
documentation for new values

34
5.4.1
Formatt
ing a
Plot
Using
Comma
Formatting the text within the xlabel, ylabel,
nds title, text and legend commands:
Can format text displayed by above
commands
• Can set font, size, character color,
background color, sub/superscript, style
(bold, italic, etc.)
• Can display Greek letters
• Can format using modifiers within text
string or by adding property names and
values to command
35
5.4.1
Formatt
ing a
Plot
Using
Comma
nds

Text modifiers are placed inside text


string and affect appearance of text
• All text following modifier gets altered
• To only modify some text put open
brace ({), modifier, text-to-be-
modified, close brace (})

36
5.4.1
Formatt
ing a
Plot

Example titles
Using
Comma
nds
title('\it What You Should Never See')
makes
What You Should Never See
title('What You Should{\it Never}
See')
makes
What You Should Never See

37
5.4.1
Formatt
ing a
Plot

Example titles
Using
Comma
nds
title('\fontname{Old English Text MT}...
My Name is Robin Hood')
makes
My Name is Robin Hood
title(...
'{\fontname{Old English Text MT}Robin
Hood}...
was here')
makes
Robin Hood was here
38
5.4.1
Formatt
ing a
Plot
Using
Comma
nds
Some common modifiers
• \bf – bold face
• \it – italic
• \rm – normal font
• \fontname{fontname} – font name
• \fontsize{fontsize} – font size

39
5.4.1
Formatt
ing a
Plot
Using
Comma
nds Subscript and superscript:
To make single character
• Subscript – precede it by underscore (_)
• Superscript – precede it by caret(^)
For multiple characters, same as above
but enclose characters in (curly) braces
• xlabel('H_2O') makes H2O
• ylabel('e^{-k*sin(x)}') makes e-k*sin(x)

40
5.4.1
Formatt
ing a
Plot
Using
Comma
Greek characters:
nds

To make a Greek letter, follow backslash


with letter name (in English!)
• Name in lowercase makes lowercase Greek letter
• Name with capitalized first letter makes
uppercase Greek letter

41
5.4.1
Formatt
ing a
Plot
Using
Comma
ylabel('Standard deviation (\sigma) of resistance in M\Omega')
nds

makes
Standard deviation (σ) of resistance in MΩ
Some Greek characters

42
5.4.1
Formatt
ing a
Plot
Using
Comma
For xlabel, ylabel, title, text,
nds can also change display of entire text string by
using property name – property value pairs,
e.g.,
text(x,y,'Some text',PropertyName,PropertyValue)
• PropertyName is text string
• PropertyValue is number if value is
number or text string if value is letter or
word
Example
th
text(x,y,'Depth','Rotation',45)
ep
makes D 43
5.4.1
Formatt
ing a
Plot

Some property-name property-value pairs


Using
Comma
nds

44
5.4.1
Formatt
ing a
Plot
Using
Comma
nds
The axis command:
MATLAB makes axes limits in plot
command so that all data appears
and limits are nice numbers. Can
change that with axis command

45
5.4.1
Formatt
ing a
Plot

Common axis variations are:


Using
Comma
nds

axis([xmin xmax ymin ymax])


 Sets limits of both axes

axis equal
 Sets same scale for both axes

axis square
 Sets axis region to be square

axis tight
 Sets axes limits to range of data
(not usually nice numbers!)
46
5.4.1
Formatt
ing a
Plot
Using
Comma
nds
The grid command:
grid on
 Adds grid lines to plot

grid off
 Removes grid lines from plot

47
5.4.1
Formatt
ing a
Plot

This script
Using
Comma
nds

48
5.4.1
Formatt
ing a
Plot

Makes this plot


Using
Comma
nds

49
5.4.2
Formatt
ing a
Plot

Can interactively format plot from Figure Window


Using
the Plot
Editor

50
5.5 PLOTS WITH LOGARITHMIC AXES

Often use plot with one or both axes


being logarithmic (log)
• Used to display data with large
range of values
• Used to make some functional
relationships more apparent
For example, y = 10(2x+3) is a straight line on
a semilog plot

51
5.5
PLOTS
WITH
LOGAR
ITHMI
C AXES

MATLAB commands for log plots

• Can use line specifiers and property-


name property-value pairs as in plot
• On logarithmic axis, make sure all data is
> 0 because otherwise log is undefined

52
5.5 PLOTS WITH LOGARITHMIC AXES

Examples

53
5.6 PLOTS WITH ERROR BARS

Experimental data that is plotted


usually also shows some measure of
the uncertainty in the measurements
• Often shown by error bars, (usually
small) vertical lines above and below
data points. Their size is the size of the
uncertainty
• Uncertainty measure is often the
standard error, which is approximately
the standard deviation of the samples
used to compute a data point 54
5.6 PLOTS WITH ERROR BARS

errorbar(x,y,e)
• All vectors in the command must be same size
• x and y are horizontal- and vertical-axis data
• e is error measurement at each point
At each y(i), MATLAB draws vertical error bar
from y(i)-e(i) to y(i)+e(i)

55
5.6 PLOTS WITH ERROR BARS

errorbar(x,y,d,u)
• All vectors in the command must be same size
• x and y are horizontal- and vertical-axis data
• u,d are error measurements at each point
At each y(i), MATLAB draws vertical error bar from
y(i)-d(i) to y(i)+u(i)
NOTE: - descriptions for second and third
arrows at bottom of page should be switched

56
5.7 PLOTS WITH SPECIAL GRAPHICS

MATLAB has lots of special types of


plots, e.g., bar, stairs, stem, pie
• For more information on types of plots,
click on the Help icon, then on MATLAB,
then scroll down to the Graphics section
and click on 2-D and 3-D plots

57
5.7 PLOTS WITH SPECIAL GRAPHICS

Examples of specialized plots

58
5.7 PLOTS WITH SPECIAL GRAPHICS

59
5.8 HISTOGRAMS

A histogram is a plot of the distribution


of data. Entire range of data broken into
consecutive subranges or bins.
In histogram plot
• Each bin represented by vertical bar
• Left and right of vertical bar show range of
data in bin
• Height of vertical bar is number of data
points in bin

60
5.8 HISTOGRAMS

MATLAB command hist makes


histogram. Simples form is hist(y)
• y is vector of data points
• hist divides range
into ten equal bins,
then plots result

61
5.8 HISTOGRAMS

Additional forms of hist:


hist(y,nbins)
• MATLAB divides range into nbins
(scalar) bins of equal size
hist(y,x)
• x (vector) specifies midpoint of each bin
Spacing between consecutive elements of x
can be different
Bin edges are midpoints of consecutive bins

62
5.8 HISTOGRAMS

Can get histogram heights if desired


n=hist(y) n=hist(y,nbins)
n=hist(y,x)
• Output n is a vector
Size of n is number of bins
Value of element of n is number of data
points in corresponding bin

63
5.8 HISTOGRAMS

For two forms, can also get bin centers


[n xout]=hist(y) or [n
xout]=hist(y,nbins)
• n same as before
• xout(i) is center of ith bin

64
5.9 POLAR PLOTS

In polar coordinates, points in plane


specified by (r,θ)
• r is distance from origin
• θ is angle from positive, horizontal
axis. θ is positive in counterclockwise
direction

65
5.9 POLAR PLOTS

To make polar plot in MATLAB, use


polar(theta,radius,'line specifiers')
• theta in radians and as defined previously
• radius as defined in previously
• Both must be vectors and of same size
• line specifiers same as in plot

66
5.10 PUTTING MULTIPLE PLOTS ON THE SAME PAGE

subplot(m,n,p)
divides Figure Window into m
rows and n columns of subplots
• Subplots numbered from left to
right and top to bottom, with upper
Subplot numbers for
left being subplot 1 and lower right 3x2 set of subplots
subplot m*n. p in subplot
command refers to this numbering

67
5.10 PUTTING MULTIPLE PLOTS ON THE SAME PAGE

subplot(m,n,p)
• If subplots don't exist, subplot creates
them and makes subplot p the current
subplot
• If subplots exist, subplot makes subplot p
the current one
• When subplot defines current subplot,
next plot and formatting commands draw
in current subplot
See Sample Problem 5-2 for example of
subplot use 68
5.11 MULTIPLE FIGURE WINDOWS

On execution, any plotting command


1. Creates a Figure Window (if none exists)
2. Erases any plot in that window
3. Draws new plot
Can be useful though to have plots in
multiple windows. figure command
lets you do this

69
5.11 MULTIPLE FIGURE WINDOWS

figure
1. Creates a new Figure Window
2. Labels the window "Figure n"
n such that first window is Figure 1, second is
Figure 2, etc.
3. Makes new window the active Figure
Window
4. Brings window to front of the screen
Subsequent plotting commands draw
in the active Figure Window
70
5.11 MULTIPLE FIGURE WINDOWS

Example

71
5.11 MULTIPLE FIGURE WINDOWS

figure(n)
• If Figure Window n exists, makes it the
active window
• If Figure Window n doesn't exist, creates
it and makes it the active window
• figure(n) useful in scripts, e.g., scripts
in which data set 1 is displayed in Figure 1,
data set 2 is displayed in Figure 2, etc.

72
5.11 MULTIPLE FIGURE WINDOWS

Use close command to close


figure windows
• close closes active Figure Window
• close(n) closes Figure Window n
• close all closes all open Figure
Windows

73
5.12 PLOTTING USING THE PLOTS TOOLSTRIP

Can make plots interactively by using


PLOTS Toolstrip in Command Window
1. If Workspace Window not displayed, click on Layout
icon, then on Workspace
2. Make sure any variables you want to use in plotting
have values assigned to them
3. Click on PLOT tab

74
5.12 PLOTTING USING THE PLOTS TOOLSTRIP

To make a 2-D plot


1. In Workspace Window, click on vector you want to
use for horizontal axis
2. While holding down CTRL key, click on other
vector(s) you want to plot on vertical axis
 If you only select one vector, MATLAB plots element
numbers on horizontal axis and vector on vertical axis
3. Plot types you can use will be visible in
toolstrip. Click on desired plot type

75
5.12 PLOTTING USING THE PLOTS TOOLSTRIP

After clicking on plot type, MATLAB opens


new Figure Window with data plotted
• To replot same data with different plot type,
select Reuse Figure on right side of toolstrip,
then click on new plot type. MATLAB erases
previous plot and makes new plot in same
window
• To replot same data with additional plot type,
select New Figure on right side of toolstrip, then
click on new plot type. MATLAB opens new
Figure Window and makes plot with new type in
it 76
5.12 PLOTTING USING THE PLOTS TOOLSTRIP

After plotting, MATLAB displays in


Command Window the command it
TIP used to make plot. You can copy the
command and paste it into a script
to enable the script to create the
same plot.

77

You might also like