Types of 2-D discrete data plots in MATLAB
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.
Contact Us