Understanding and Visualizing Arrays through Graphical Representation in MATLAB

In this extensive article, we’ll explore the process of plotting an array in MATLAB. We will delve deep into the concept of arrays and their importance, discuss various types of plots suitable for dif …

Updated November 30, 2023


Hey! If you love Computer Vision and OpenCV as much as I do let's connect on Twitter or LinkedIn. I talk about this stuff all the time and build cool projects.


In this extensive article, we’ll explore the process of plotting an array in MATLAB. We will delve deep into the concept of arrays and their importance, discuss various types of plots suitable for different scenarios, and provide detailed code samples to demonstrate each step. By the end, you will have a clear understanding of how to represent data visually using MATLAB’s plotting functions effectively.

Introduction

Plotting an array in MATLAB involves representing numerical data as graphical outputs such as line charts, scatter plots, and histograms. It is a vital skill for any MATLAB programmer, as it allows them to visualize and analyze their data easily and more effectively. This section will guide you through the fundamentals of plotting an array in MATLAB, along with its various applications in different areas.

Understanding Arrays

Arrays are one-dimensional or multi-dimensional collections of elements that have a specific data type. MATLAB uses arrays as the fundamental data structure for processing and analyzing numerical information. There are several types of arrays, including:

  1. Numeric arrays (real or integer)
  2. Complex arrays
  3. Logical arrays (with values of either 0 or 1)
  4. Cell arrays (of strings or other non-numeric data types)
  5. Structured arrays (grouping variables and their data together)
  6. Character vectors (strings used as one-dimensional arrays)

Different Types of Plots for Arrays

MATLAB provides a wide range of plotting options to visualize different types of arrays, each designed for specific scenarios:

  1. Line charts: Plot an array against another array or variable to see the relationship between data points as they evolve over time or change in magnitude. These are commonly used when examining trends or identifying patterns within a series of data.

  2. Scatter plots: Represent elements of one array against each other by plotting pairs of values in an X-Y coordinate system, useful for identifying relationships between variables and detecting potential outliers.

  3. Histograms: Divide a continuous numerical variable into several bins and visualize the number of observations falling into each bin. This is ideal for understanding the distribution of data and can help with determining normalcy and symmetry.

  4. Bar charts: Display categorical variables as rectangular bars, usually stacked or grouped, with a height proportional to some measure of relative size or value. These are useful when comparing multiple categories or examining discrete sets of data.

  5. Pie charts: Show the parts that make up the whole by representing the percentage contributions of each element in the array as sectors in a circle. Useful for demonstrating proportions within a dataset.

Preparing Data for Plotting

Before plotting an array, it is essential to organize your data into the correct format. This may involve converting between different types of arrays if necessary or combining multiple datasets. Here are some tips on data preparation:

  1. Ensure that all arrays contain compatible data types. MATLAB will throw errors if you attempt to plot incompatible data types together.
  2. Organize your data into rows (for one-dimensional plots) and columns (for two-dimensional or matrix plots).
  3. Reshape multidimensional arrays as needed, such as reshaping a three-dimensional array into a matrix for easier plotting.
  4. If necessary, convert cell arrays to numeric arrays by using functions like c2d or char2num.
  5. Ensure that all arrays are the same size if you plan to plot them against each other.

Plotting an Array in MATLAB - Code Samples and Steps

To help demonstrate the concept, we will present a few code samples that walk through the process of plotting an array in different formats using MATLAB’s built-in functions.

Example 1: Line Chart Plot

  1. Create two numerical arrays representing time series data: t = [1:5]; y = [40, 72, 118, 196, 240];

  2. Combine the arrays into a single vector for plotting purposes: Data = [t; y]'; % Transpose and concatenate the arrays into one column vector

  3. Plot the data as a line chart using MATLAB’s plot function: figure; plot(Data(:,1), Data(:,2)); title(‘Line Chart Example’); xlabel(‘Time (t)'); ylabel(‘Values (y)');

Example 2: Scatter Plot

  1. Create two random arrays with the same number of elements: x = rand(5,1); y = rand(5,1);

  2. Generate a scatter plot using MATLAB’s scatter function by specifying both arrays as inputs: figure; scatter(x,y); title(‘Scatter Plot Example’); xlabel(‘X-Axis Values (x)'); ylabel(‘Y-Axis Values (y)');

Example 3: Histogram Plot

  1. Create a one-dimensional array with random values that range from 0 to 200: Values = rand(1,201)*200;

  2. Calculate the frequency of each value in the array by using MATLAB’s hist function: [nBins, ~] = hist(Values); Frequencies = sum(diff(nBins)); % Compute the frequencies of different bins

  3. Plot the histogram using MATLAB’s bar function with the bin centers and frequencies as inputs: figure; bar(nBins(1:end-1), Frequencies); title(‘Histogram Example’); xlabel(‘Bin Centers (b)'); ylabel(‘Frequency (f)');

Conclusion

Plotting an array in MATLAB enables you to visualize and analyze the data effectively, allowing for easier detection of trends, outliers, or patterns within your dataset. By understanding the different types of plots available, organizing your data appropriately, and using the built-in functions, such as plot, scatter, histogram, and bar, you can create visually appealing representations that help with decision-making processes in various domains.


Stay up to date on the latest in Computer Vision and AI

Intuit Mailchimp