Changing Legends Location in Matlab

In this detailed article, we will guide you through the process of changing the location of legends in Matlab. We will explain how to modify these elements' position, understand their importance, and …

Updated November 14, 2023


Hey! If you love Computer Vision and AI, let's connect on Twitter or LinkedIn. I talk about this stuff all the time!

In this detailed article, we will guide you through the process of changing the location of legends in Matlab. We will explain how to modify these elements' position, understand their importance, and enhance your work by using appropriate design principles. By the end, you will have gained valuable insight into the flexibility of Matlab when it comes to visual representation.

Introduction

Matlab is a powerful scientific programming language and interactive environment, widely used for data analysis, mathematical computing, and computational science applications. One of its key features is the ability to generate visually appealing plots with customizable elements such as legends. Legends are helpful in labeling different series on a plot and making it easier for viewers to interpret data points.

In some cases, you may want to change the position or appearance of your legends based on your requirements. This can include moving them to improve readability or placing them in specific locations for publication-ready graphics. Here, we will explain how to adjust the location of legends in Matlab while also discussing their importance and application scenarios.

Preparing the Environment

Before diving into the details of changing legend positions, let’s set up a simple example script. You can work with this code snippet throughout this article to better understand how to modify the legend placement as per your needs:

% Create sample data for plotting
t = 0:pi/10:2*pi;
y1 = cos(t);
y2 = sin(t);

% Plot data with default settings
figure()
plot(t, y1, 'b')
hold on
plot(t, y2, 'r')
legend('Cosine', 'Sine')

This script generates two plots: one for the cosine function and another for the sine function. It also adds legends to label the series. The default legend position is at the top right corner of each plot, as illustrated below:

default-legend-position

Understanding Legends

Legends in Matlab are graphical elements that display information related to different data series or plots on a figure window. They play an essential role in representing visual data and making it easier for users to interpret the underlying data and trends.

In our case, we have two lines (cosine and sine) plotted in Matlab, each with its respective legend label: “Cosine” and “Sine”. We can customize their position according to various design principles or specific requirements for your final output. This customization may enhance the overall visual appeal of your plot while preserving the accuracy and readability of the data.

Changing Legend Locations

To change the location of legends in Matlab, you will employ the legend function that allows you to set a new position for the existing legend object or create a new one. The function offers multiple attributes to control various aspects of the legend, including its position, justification, alignment, and orientation.

Let’s explore these options through our sample script and see how they affect the placement of legends:

  1. Setting New Position: To modify the location of the existing legend in Matlab, we can use the Location attribute to specify a new position for it. For instance, if you wanted your legend at the bottom left corner, you would pass ‘BottomLeft’ as the parameter. In our script, this changes the legend placement to the bottom left:

    figure()
    plot(t, y1, 'b')
    hold on
    plot(t, y2, 'r')
    legend('Cosine', 'Sine', 'Location', 'BottomLeft')
    

    bottom-left-legend

  2. Adding New Legends: You can also create new legends for individual series using the Position attribute, which accepts a 1x2 vector representing the x and y coordinates of the lower-left corner of the legend box. This approach allows you to position your legends anywhere within the figure window. For example, to place a new legend at (0.75,0.8), we would add:

    figure()
    plot(t, y1, 'b')
    hold on
    plot(t, y2, 'r')
    legend('Cosine', 'Sine', 'Location', 'BottomLeft')
    new_legend = legend('New Legend 1', 'Position', [0.75, 0.8])
    

    new-legend

  3. Customizing Legends: Matlab offers more options to fine-tune your legends' appearance, such as controlling the fontsize, box color, or font properties. You can use these settings to make your legends even more informative and visually appealing.

    For instance, this example script changes the font size of the new legend from 12 to 16, and specifies a light blue box color for the existing legend:

    figure()
    plot(t, y1, 'b')
    hold on
    plot(t, y2, 'r')
    legend('Cosine', 'Sine', 'Location', 'BottomLeft')
    new_legend = legend('New Legend 1', 'Position', [0.75, 0.8],'FontSize', 16,'BoxColor','lightblue')
    

    customized-legends

Conclusion

In conclusion, understanding how to modify the location of legends in Matlab can significantly improve your plot visuals and enhance the readability of your data for your audience. By mastering the different attributes and customization options available, you will be able to create attractive and informative plots that effectively convey information. Remember to always keep in mind the purpose and audience of your visuals to make the right decisions when it comes to adjusting legend positions.