In MATLAB, a graph legend is used to provide a key for the different data series displayed in a plot, helping to identify each series clearly.
Here’s a simple example of how to add a legend to a MATLAB plot:
x = 0:0.1:10;
y1 = sin(x);
y2 = cos(x);
plot(x, y1, 'r', x, y2, 'b');
legend('Sine Wave', 'Cosine Wave');
xlabel('X-axis');
ylabel('Y-axis');
title('Sine and Cosine Functions');
What is a Legend in MATLAB?
A legend is a key component of any graph or plot created in MATLAB. It plays a significant role in describing the various data series that are visualized, helping viewers quickly understand what each line, marker, or bar represents. The legend acts like a guide, offering clarity and improving the readability of the data representation.

Creating a Basic Legend
Creating a basic legend in MATLAB is straightforward using the `legend` function. The syntax is simple, allowing users to specify the labels for each dataset explicitly. Here’s how you can create one:
plot(x, y1, 'r', x, y2, 'b');
legend('Data Series 1', 'Data Series 2');
In this example, the first data series is marked in red (`'r'`), and the second in blue (`'b'`). The `legend` function pairs the legends with the corresponding plots in the order they appear. Each label provided in the `legend` function matches the data curves plotted, ensuring the viewer can interpret the graph effectively.
What Each Part Means
- plot(x, y1, 'r', x, y2, 'b'): This command creates a plot with two datasets, one represented by a red line and the other by a blue line.
- legend('Data Series 1', 'Data Series 2'): This command generates a legend with the specified labels for each dataset, clearly indicating which color corresponds to which series.

Customizing Legends
Customizing your legend can significantly enhance the visual impact of your graph. MATLAB offers various properties that you can modify.
Changing Legend Properties
Font Size and Style
Adjusting the font size and style can make your legend more readable. Use the following code to increase the font size:
legend('Data 1', 'Data 2', 'FontSize', 14, 'FontWeight', 'bold');
In this case, the legend's font size is set to 14, and the text is made bold for emphasis. Such customizations ensure that your legends stand out, especially in presentations or reports where clarity is paramount.
Legend Location
Positioning your legend can also affect accessibility and clarity. MATLAB provides several pre-defined locations for legends. Use this code snippet to specify a legend's location:
legend('Data 1', 'Location', 'northeast');
By default, the legend appears in the 'best' location; however, adjusting it to 'northeast' ensures it doesn't block any significant data points in that corner of the plot. Exploring different locations helps maintain readability in various graph formats.

Advanced Legend Features
Using Multiple Legends
In more complex visualizations, you may find it necessary to include additional legends. This can occur when you wish to highlight different aspects of data within the same plot. Here’s how to create multiple legends:
hold on;
plot(x, y1);
lgd1 = legend('Data 1');
plot(x, y2);
lgd2 = legend('Data 2');
In this code, `hold on` allows you to overlay plots within the same figure, and subsequent calls to the `legend` function can add more legends to the figure. Note that only the most recent legend will be displayed using this method. To manage multiple legends concurrently, consider combining information into a single legend or using different axes.
Customizing Colors and Symbols
Different colors and line styles help delineate between data series effectively. You can specify the color and style of lines in your plot as follows:
plot(x, y1, 'ro--', x, y2, 'bs-');
legend({'Circle Line', 'Square Line'});
In this example, `y1` is plotted with a red circle line style, while `y2` features a blue solid line. The `legend` command then labels each series accordingly, enhancing clarity with visually distinct elements.

Adding Descriptions to Legends
Descriptive text along with the legends can provide additional context for the displayed data. Using the `text` command allows you to insert supplementary information alongside the legend:
legend('Data Series 1', 'Data Series 2');
text(1, 1, 'Key observations about the data', 'VerticalAlignment', 'bottom');
Here, the `text` command positions a description at the specified coordinates (in this case, (1,1)) just below the legend. Such annotations can highlight critical insights or observations, making them invaluable in analytical scenarios.

Handling Legends for Subplots
When creating multiple plots within a single figure, legends help distinguish different data series efficiently. Using subplots effectively is essential in this context. Here’s how to incorporate legends into subplots:
subplot(2,1,1);
plot(x, y1);
legend('Data A');
subplot(2,1,2);
plot(x, y2);
legend('Data B');
This example shows two subplots stacked vertically. Each subplot has its dedicated legend that makes clear which data series is associated with each plot. This approach is highly beneficial for comparative analyses.

Common Issues and Troubleshooting
While adding legends in MATLAB can vastly improve visualization, several common issues can occur:
Legends Not Displaying
If a legend does not appear on your graph, check for potential issues such as:
- The plot may not contain any data.
- Ensure that the `legend` function call is made after your plot commands.
Overlapping Legends
Sometimes legends overlap with critical data points. To prevent this, you can reposition the legend using the location options or increase its transparency:
lgd = legend('Data 1', 'Data 2', 'Location', 'best');
set(lgd, 'TextColor', 'w', 'Color', 'k', 'EdgeColor', 'none'); % Makes legend background transparent
In this command, the legend’s text color is set to white, and the background is transparent, mitigating any potential obscuring of vital data.

Conclusion
Legends are vital tools in enhancing the clarity and interpretability of MATLAB visualizations. By effectively utilizing the `legend` function and customizing it to fit the data being represented, users can significantly improve their data presentation. Always take the time to experiment with different styles, placements, and features to create the best possible representation of your data.

Additional Resources
While these guidelines are a foundation, pursuing MATLAB's official documentation will provide further insights into the intricacies of legend commands and their myriad applications. Practicing with various datasets will further enhance your skills and understanding of creating impactful visualizations.