Skip to content
Related Articles
Open in App
Not now

Related Articles

Types of 2-D discrete data plots in MATLAB

Improve Article
Save Article
  • Difficulty Level : Easy
  • Last Updated : 22 Sep, 2021
Improve Article
Save Article

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
Related Articles

Start Your Coding Journey Now!