# Efficiently Working with Multi-Figure Displays in MATLAB

This article aims to provide an extensive guide on creating multiple figures within the MATLAB environment, covering essential techniques that will enhance your productivity as a Python Engineer or Co …

Updated November 4, 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.*This article aims to provide an extensive guide on creating multiple figures within the MATLAB environment, covering essential techniques that will enhance your productivity as a Python Engineer or Computer Vision Expert. We’ll delve into various methods for manipulating and managing these multi-figure displays, as well as explore their practical applications in real-world scenarios such as data visualization and analysis.

Table of Contents:

- Introduction to MATLAB Figures
- Creating Multiple Figures Using Subplot Arrangements
- Figure Window Layouts
- Plots Within Subplots
- Handling Overlapping Axes

- Working with Individual Figures
- Create a New Figure
- Saving and Loading Figures
- Closing Figures and Clearing Session Variables

- Utilizing MATLAB Functions for Multiple Figures
- Parallel Plotting with ‘plot’ Function
- Using the ‘figure’ and ‘clf’ Commands
- Employing ‘subplot’ to Organize Subplots

- Best Practices for Efficient Multi-Figure Workflow

## Introduction to MATLAB Figures

MATLAB is an incredibly useful programming environment that excels in data analysis, visualization, and simulation. One of its key features is the ability to generate figures through which you can represent and interpret complex datasets. In this context, a figure represents a complete plotting environment with one or more individual plots, axes, and other graphical elements such as legends and labels.

By default, MATLAB opens a new figure window every time it creates an image using functions like ‘plot’, ‘figure’ or ‘subplot’. This is not very efficient for handling numerous images during your workflow. It becomes even more crucial when working with Python Engineers, Computer Vision experts or Data Scientists who frequently deal with multitudes of data sets and plots.

## Creating Multiple Figures Using Subplot Arrangements

Subplot arrangements allow you to manage multiple figures inside a single Figure Window in MATLAB. This feature greatly enhances the user experience by enabling you to efficiently arrange different graphical components on the same canvas. The figure window displays an array of subplots, each with its axes for drawing plots and handling other visual elements.

Figure Window Layouts: To start working with multiple figures in MATLAB, create a new Figure Window using the ‘figure’ command. Then use subplot layouts to arrange your desired plots. This is done through the ‘subplot’ function, which takes as input the number of rows and columns that will form the subplots. The default behavior is to use square grids (e.g., 2 by 2), but you can also specify custom sizes such as 2 by 1 or 3 by 4.

Plots Within Subplots: Once your subplot arrangement is set up, proceed with plotting different graphs and charts on each of the available axes. You can easily switch between these subplot areas using the command ‘nextplot’. Alternatively, you may provide a vector of axes handles to plots functions like ‘plot’, ‘plot3’, or ‘line’ to plot directly into specific subplots.

Handling Overlapping Axes: While working with multiple figures in MATLAB, it is crucial to address potential overlaps between axes and subplots that could result from resizing the figure window or altering the layout of subplots. To handle this issue, you may use the ‘axis visibleset’ command to temporarily hide specific axes while leaving their data untouched.

## Working with Individual Figures

Although subplot arrangements provide an organized means for dealing with multiple figures within a single MATLAB window, sometimes it is necessary or advantageous to work exclusively with one figure at a time. This section discusses techniques for creating new figures, saving and loading existing plots, as well as managing them effectively.

Creating a New Figure: To create a new figure from scratch without using the subplot arrangements, simply use the ‘figure’ command followed by the desired settings, such as its size or position on the screen. For example, type ‘figure(10);size([400 400])’ to open a small square figure window with a handle numbered 10.

Saving and Loading Figures: For long-term storage of your work, it is essential to save figures in their respective formats such as ‘fig’, ‘tiff’, or ‘pdf’. This can be done using MATLAB’s ‘saveas’ function with the appropriate file extension. To restore a figure from a saved version, utilize the ‘load’ command.

Closing Figures and Clearing Session Variables: At times, it may be necessary to discard unnecessary figures or even clear session variables associated with specific plots. You can close individual MATLAB figures using the ‘close’ function or simply by clicking the red “x” button in the title bar of each figure window. To completely erase all sessions variables pertaining to a particular figure, use the ‘clear’ command followed by the appropriate figure handle.

## Utilizing MATLAB Functions for Multiple Figures

Several built-in MATLAB functions enable you to work efficiently with multiple figures and minimize redundant code while handling complex data sets or plots. In this section, we will explore three popular options: ‘plot’, ‘figure’ and ‘clf’.

Parallel Plotting with ‘plot’ Function: The ‘plot’ function can simultaneously plot several datasets in a single subplot area without the need for separate plots. This can be achieved by passing a vector of input parameters containing multiple data series as arguments to the function, such as: ‘plot(x, y1, x, y2, x, y3)’ or ‘plot(x, [y1 y2 y3])’.

Using the ‘figure’ and ‘clf’ Commands: To effectively manage multiple figures in MATLAB, consider utilizing the ‘figure’ command to create new figure windows whenever necessary. The ‘clf’ function, on the other hand, can be used to clear any existing data or user-defined variables within the current figure window without affecting others, promoting a clean and organized workspace.

Employing ‘subplot’ to Organize Subplots: As mentioned earlier, the ‘subplot’ command is particularly useful for organizing multiple plots into a single subplot arrangement. By specifying a grid layout within a new figure window, you can quickly visualize various datasets in a structured manner. Keep in mind that once created, subplots remain active until the figure is closed or explicitly reset with the ‘clf’ function.

## Best Practices for Efficient Multi-Figure Workflow

To achieve a streamlined workflow while handling multiple figures in MATLAB, consider the following best practices:

- Employ subplot arrangements wherever possible to efficiently manage numerous plots within one figure window.
- Use separate variables and functions for each figure to maintain clarity during your code development.
- Take advantage of built-in MATLAB functions like ‘subplot’, ‘figure’, and ‘clf’ to streamline the process of creating, managing, and visualizing data across numerous figures.
- Save and load your work regularly to preserve progress throughout long-term projects.
- Be mindful of resource usage and make judicious use of temporary variables or session cleaners to ensure optimal performance and maintain a tidy workspace.
- Always adhere to proper code organization techniques such as commenting, well-structured function definitions, and clear variable naming conventions for easier troubleshooting and collaborative efforts with others.