How To Add Legend To R Plot

R Programming


Adding a legend to an R plot is a crucial aspect of data visualization. As a data enthusiast and R user, I often find myself creating intricate plots to convey complex information. In this article, I will share my insights and expertise on how to effectively add a legend to an R plot. Whether you are new to R or looking to refine your visualization skills, this guide will provide you with a comprehensive understanding of the process.

Step 1: Create the Plot

Before adding a legend, it is essential to have a plot that requires one. Let’s consider a scenario where we have plotted multiple lines or elements within our graph using the plot() function. For instance, we may have generated a line plot to represent the performance of different stocks over time.

Step 2: Add the Legend

Now comes the exciting part – adding the legend. We can use the legend() function in R to accomplish this task. The legend() function allows us to specify the legend’s position, text to be displayed, and additional formatting options.


# Adding a basic legend to a plot
plot(x, y1, type = "l", col = "blue", ylim = c(0, 100), xlab = "Time", ylab = "Stock Value")
lines(x, y2, col = "red")
legend("topright", legend = c("Stock A", "Stock B"), col = c("blue", "red"), lty = 1)

Step 3: Customize the Legend

To enhance the aesthetics of the legend, we can incorporate various customization options. This includes modifying the color, text size, background, and border of the legend box. These adjustments can significantly improve the overall appearance of the plot and create a professional presentation of the data.


# Customizing the legend
legend("bottomleft", legend = c("Group 1", "Group 2"), fill = c("green", "yellow"), border.col = "black", bty = "n", cex = 0.8)


Mastering the art of adding a legend to an R plot is a valuable skill that can greatly enhance the visual impact of your data. By following the steps outlined in this article, you can effectively incorporate legends into your plots and create compelling visualizations that effectively convey your message. I encourage you to experiment with different customization options and find the perfect balance between clarity and aesthetic appeal in your plots.