Asked by Tom
on 10 Dec 2011

Hi, is there somewhere I can see some examples of scripts that result in multiple plots on one graph?

I know the 'hold' function is part of how to do it, but I'm very new to Matlab and I really need to see some full examples.

If someone could point me towards some that'd be great.

Answer by Chandra Kurniawan
on 10 Dec 2011

Edited by MathWorks Support Team
on 9 Nov 2018

Accepted Answer

To combine multiple plots in one graph, use the “hold on” command, such as:

plot(1:10)

hold on

plot(11:20)

hold off

For more information, see:

Walter Roberson
on 10 Dec 2011

The alternative to "hold on" that would be applicable to this example is

plot(t,x,'r',t,y,'b')

Ina Panci
on 10 May 2019

Hello, what other letters can we use if we have more than two functions to plot?

Cleat Zeiler
on 15 Oct 2019 at 22:02

This is the list from the help call:

Various line types, plot symbols and colors may be obtained with

plot(X,Y,S) where S is a character string made from one element

from any or all the following 3 columns:

b blue . point - solid

g green o circle : dotted

r red x x-mark -. dashdot

c cyan + plus -- dashed

m magenta * star (none) no line

y yellow s square

k black d diamond

w white v triangle (down)

^ triangle (up)

< triangle (left)

> triangle (right)

p pentagram

h hexagram

Sign in to comment.

Answer by N Narayan rao
on 25 Sep 2016

Edited by Walter Roberson
on 15 Jul 2017

x = -3:0.1:3;

y1 = sin(x);

y2 = cos(x);

y3= tan(x);

y4=1./cos(x);

figure

subplot(2,2,1)

plot(x,y1)

title('Subplot 1')

subplot(2,2,2)

plot(x,y2)

title('Subplot 2')

subplot(2,2,3)

plot(x,y3)

title('Subplot 3')

subplot(2,2,4)

plot(x,y4)

title('Subplot 4')

Sign in to comment.

Answer by Raghuram
on 27 Mar 2014

Prasad Kalane
on 11 Dec 2015

x=rand(2,10);

scatter(x(1,:),x(2,:),'r');

hold on

x=rand(2,10);

scatter(x(1,:),x(2,:),'g');

hold on

x=rand(2,10);

scatter(x(1,:),x(2,:),'b');

hold on

x=rand(2,10);

scatter(x(1,:),x(2,:),'c');

You can plot multiple plot just use "hold on" command

MOHAMMAD YASIR ALI
on 13 Jul 2017

can I get best fit line from this method?

Walter Roberson
on 15 Jul 2017

"can I get best fit line from this method?"

Best fit lines tend to imply an ordering to the data, but scatter plots tend to imply the data might not be ordered in a way that is compatible with fitting.

But yes, if you have polynomial coefficients for your fit, such as coefficients generated using polyfit(), then you can use polyval() to interpolate values, and you can "hold on" and plot() the values.

Sign in to comment.

Answer by Cortney Marschner
on 8 Oct 2016

Edited by Walter Roberson
on 15 Jul 2017

How do I plot multiple graphs on the same graph using this code?:

hold off

[x, y] = meshgrid(0:0.2:10, 0:0.2:6);

X = x(1,1:51);

dx = ones(size(x));

dy = x;

quiver(x, y, dx, dy)

axis tight

hold on

plot(X, 1+X.^2/2)

Walter Roberson
on 15 Jul 2017

Sign in to comment.

Answer by utkarsh singhvi
on 17 Apr 2018

command to plot multiple function on one graph

Sign in to comment.

Opportunities for recent engineering grads.

Apply Today
## 2 Comments

## tayyaba khurshid (view profile)

## Direct link to this comment

https://www.mathworks.com/matlabcentral/answers/23591-how-do-i-combine-multiple-plots-in-one-graph#comment_433968

## Chiemela Victor Amaechi (view profile)

## Direct link to this comment

https://www.mathworks.com/matlabcentral/answers/23591-how-do-i-combine-multiple-plots-in-one-graph#comment_593667

Sign in to comment.