## Introduction to 2D Plotting in MATLAB

Contents

MATLAB not only helps us for calculation but also helps us in data analysis and visualization by plotting graphs andÂ waveforms. It providesÂ us with aÂ ‘big picture’ of our data.Â Here I’m going to discuss about the 2D plotting in MATLAB. If you haven’t yet started with MATLAB please goto our Matlab Tutorials.

# Plotting

## Using fplot()

**fplot() :Â **It is used to plot between the specified limits. The function must be of the form y=f(x), where x is a vector whose specifies the limits, and y is a vector with the same size as x.

**SYNTAX :**

- fplot(fun, limits) – A function fun is plotted in between the limits specified
- fplot(fun, limits, linespace) – allows plotting fun with line specification
- fplot(fun, limits, tol) -allows plotting with relative error tolerance ‘tol’.If not specified default tolerance will be 2e-3 ie .2% Â accuracy.
- fplot(fun, limits, tol, linespace) – allows plotting with relative tolerance and line specification

eg :

fplot( 'x.^2'Â ,Â [0,10])

Output:

## Using plot()

In this case we need to specify the functions for x and y separatelyÂ .Here we use a function** plot ()** in MATLAB library

**plot(): **allows 2-D line plotting

SYNTAX:

- plot(y)-plots the columns of y versus the index of each value when y is a real number. For complex y it is equivalent to plot (real (y),img(y))
- plot(x1,y1,……..xN,yN) – plots y versus x
- plot(x1,y1,linespace…..xN,yN,linespace)-plots y versus x along with line specification

eg :

x= linspace(0,10*pi,5); # linspaceÂ is not line specification it is used to generateÂ linearly spaced vectors y=sin (x); plot(x,y)

Ouput :

**NOTE:**

- linspace is an inbuilt function which generates equally spaced vectors.

- Â linspace(a, b) – generates 100 linearly spaced vectors
- Â linspace(a,b,n) –Â generates n linearly spaced vectors including a,b

- sin()-Trignometric sine function

# For plotting 2 functions at a time

Syntax :poly(x1,y1,x2,y2)

eg:

x=0:10; y=x.^2; z=2:12; t=x.^2; plot(x,y,z,t)

Output :

**NOTE:**

- To change the characteristics of the plot we can use
**plottools**function.Â A box will pop up showing your output, we can change change the characteristicsÂ there like color, plot type. We can also more data to the plot.

**Shortcut method for quick editing:**

This might be handy for the people who are always get bored dealing with the menu box in plottools. For quick and simple editing we don’t have to deal with **plottools**. We can have a third argumentÂ in the plot function.

Syntax: plotÂ (Â x, y,’color or line style or data points’)

eg : plot (x, y,’r*–‘) Â # A red dotted plot is obtained.

- Available colors are red, blue, magenta, black, white, green, yellow, cyan
- Data points can be marked
- Linestyle can be changed.

- Regular line- ‘ – ‘
- Dotted lines- ‘ : ‘
- Dashed line- ‘ – – ‘

*NOTE:Â *

ColorspecÂ is a method of specifying colors. There are 3 ways with which you can specify color

eg :

x=1:5; y=1:5; z=x+y; plot(z,'r*--')

Output:

**Some useful info:**

**axis equalÂ**function allows us to make the axes equal**line()**function allows us to join the line after data points are plotted.

Eg:

x=1:5; y=1: 5; z=x+y; plot(z,'r*--') axis equal

Output:

# Â Histogram and Pie Chart

MATLAB also helps us to plot Histogram and Pie chart.

## Histogram

**Â Â Â Â Â Â hist()Â **function helps us to plot the histogram .

SYNTAX:

- n=hist(y) –Â Bins the elements in vector yÂ into 10 equally spaced containers and returns the number of elements in each container as a row vector.
- n=hist(y,x)- WhereÂ xÂ is a vector, returns the distribution of y along length (x) bins with centers specified byÂ x.
- n=hist(y,nbins) – Here nbins is scalar and uses it as number of bins

eg :

x=rand(1000,1); #randfunction generates nxnÂ matrixÂ;rand(m,n)Â generates mxn square matrix fix(x); Â Â Â Â # used to round it off to 0 hist(x,5)Â Â Â # returns the distribution of x in 5 length bin;

Output:

## Piechart

**Â Â Â Â Â Â Â pie()Â **function helps us to plot the pie chart of our data.

SYNTAX:

- pie(x)- draws a pie chart with the data in x.
- pie(x,explode)-Offsets a slice from the pie.explode is a vector or matrix of zeroes and non zeroes corresponding to x.

eg:

marks=[10,20,30,40,50] pie(marks)

Output:

We can plot our data using **scatter****()**Â function. In this data may be some points in a plane. So instead of using **plotÂ **function we can directly use **scatter** function

SYNTAX:

- scatter(x,y)-draws the markers in default size and color
- scatter(x,y,s)-draws markers with specified sizewith single color.
- scatter(….,markertype)-use the marker type instead of Â ‘0’.
- scatter(…,Â filled)- Fills the markers.

eg :

x=rand(50,1); y=rand(50,1); Â # make sure that x and y equal length vectors scatter(x,y)

Output:

For plotting filled polygons we may use **fill()Â **function. The vertices are listed along with the color to be filled.

SYNTAX:

- fill(x,y,)-Creates filled polygons from the data specified by x and y with color c.
- fill(x1,y1,c1….xN,yN,cN)- specifies multiple 2-D filled areas
- fill(x,y,colorspec)-Â fills 2-D polygons specified by X and Y with the color specified by
**colorspec**Â explained in earlier section

eg:

x=[1.0,4.0,2.5]; y=[1.0,1.0,4.0]; fill(x,y,'c')

Output:

**LABELLING**

MATLAB also allows labelling of axes.

**xlabel()**Â function allows to label the x axis.

SYNTAX: xlabel(‘string’)

**ylabel()Â**function allows labelling of y axis

SYNTAX: ylabel(‘string’)

**title()**– function allows giving title to our plot

SYNTAX: title(‘string’)

eg:

x=1Â : 5; y=x+1; plot(x,y) xlabel('X axis ') ylabel(' Y axis ') title('Y=X+1 PLOT')

Output :