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 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 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 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 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 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 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.