# Types of 2-D discrete data plots in MATLAB

• Difficulty Level : Easy
• Last Updated : 22 Sep, 2021

Any data or variable that is limited to having certain values is known as discrete data. Many examples of discrete data can be observed in real life such as:

• The output of a dice roll can take any whole number from 1 to 6.
• The marks obtained by any student in a test can range from 0 to 100.
• The number of children in a house.

When dealing with such data, we may require to plot graphs, histograms, or any other form of visual representation to analyze the data and achieve desired results.

MATLAB offers a wide variety of ways to plot discrete data. These include:

• Vertical or Horizontal Bar-graphs
• Pareto Charts
• Stem charts
• Scatter plots
• Stairs

Let us first take some sample 2-D data to work with while demonstrating these different types of plots. The above data shows the yearly revenue of a company for the duration of 5 years. This data can be shown in any of the above-mentioned plots:

## Bar Graph:

This plot draws bars at positions specified by the array “Year” with the heights as specified in the array “Revenue”

Example:

## Matlab

 `% MATLAB code for Bar graph``% creating array for years``year = 2014:1:2018;`` ` `% creating array for revenue``revenue = [1.72 2.00 2.08 2.67 2.03];`` ` `% bar plot``bar(year,revenue)`` ` `% label for X-axis ``xlabel(``'Year'``);``   ` `% label for Y-axis ``ylabel(``'Revenue'``); `` ` `% title for plot``title(``'Yearly Revenue'``)`

Output: ## Horizontal Bar Graph:

This plot draws horizontal bars at positions specified by the array “Year” with the lengths as specified in the array “Revenue”.

Example:

## Matlab

 `% MATLAB code for horizontal bar graph``% creating array for years``year = 2014:1:2018;`` ` `% creating array for revenue``revenue = [1.72 2.00 2.08 2.67 2.03];`` ` `% horizontal bar plot``barh(year,revenue)`` ` `% label for X-axis ``xlabel(``'Revenue (in Cr.)'``);``   ` `% label for Y-axis ``ylabel(``'Year'``); `` ` `% title for plot``title(``'Yearly Revenue'``)`

Output: ## Pareto Charts:

This plot shows vertical bars corresponding to the values of the data in descending order of value. This also shows a curve made with the cumulative values above each bar. In addition to this, the right side of the graph has a percentage scale that shows how much percentage each bar contributes to the sum of all values.

Example:

## Matlab

 `% MATLAB code for Pareto Charts example``% creating array for years``year = 2014:1:2018;`` ` `% creating array for revenue``revenue = [1.72 2.00 2.08 2.67 2.03];`` ` `% pareto chart plot``pareto(revenue,year)`` ` `% label for X-axis ``xlabel(``'Year'``);``   ` `% label for Y-axis ``ylabel(``'Revenue (in Cr.)'``); `` ` `% title for plot``title(``'Yearly Revenue'``)`

Output: Bar Graphs (both vertical and horizontal) and Pareto charts can be used to represent data such as marks of a student in different subjects, rainfall received in different months, and many other data sets.

## Stem Charts:

This plot shows a straight line with a bulb at the top (or bottom for negative values) corresponding to the values given in the data. The X-axis is scaled from the least to the highest value given. which may result in the first and last value being situated right at the border of the graph.

Example:

## Matlab

 `% MATLAB code for Stem Charts ``% creating array for years``year = 2014:1:2018;`` ` `% creating array for revenue``revenue = [1.72 2.00 2.08 2.67 2.03];`` ` `% stem chart plot``stem(year,revenue)`` ` `% label for X-axis ``xlabel(``'Year'``);``   ` `% label for Y-axis ``ylabel(``'Revenue (in Cr.)'``); `` ` `% title for plot``title(``'Yearly Revenue'``)`

Output: ## Scatter Plot:

This plot shows dots placed at the values given in the data. The Y-axis is scaled from the lowest to the highest value in the data. The X-axis is scaled similarly as in stem charts, from least to highest value.

Example:

## Matlab

 `% MATLAB code for Scatter Plot example``% creating array for years``year = 2014:1:2018;`` ` `% creating array for revenue``revenue = [1.72 2.00 2.08 2.67 2.03];`` ` `% scatter plot``scatter(year,revenue)`` ` `% label for X-axis ``xlabel(``'Year'``);``   ` `% label for Y-axis ``ylabel(``'Revenue (in Cr.)'``); `` ` `% title for plot``title(``'Yearly Revenue'``)`

Output: ## Stairstep Plot:

This plot shows a staircase-like structure with each step beginning at the next value given in the data. Similar to the scatter plot, X and Y axes scale from the lowest to the highest values given.

Example:

## Matlab

 `% MATLAB code for Stairstep Plot ``% creating array for years``year = 2014:1:2018;`` ` `% creating array for revenue``revenue = [1.72 2.00 2.08 2.67 2.03];`` ` `% stairstep plot``stairs(year,revenue)`` ` `% label for X-axis ``xlabel(``'Year'``);``   ` `% label for Y-axis ``ylabel(``'Revenue (in Cr.)'``); `` ` `% title for plot``title(``'Yearly Revenue'``)`

Output: Stem, Scatter, and Stairstep plots are ideally used when working with digital signals.

My Personal Notes arrow_drop_up