Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Add legend to a plot with R

Tags:

plot

r

legend

I create 4 line in one plot using R . Here the code

# Define 2 vectors
cars <- c(123.07, 110.51, 96.14, 98.71, 101.3)
trucks <- c(110.31, 89.91, 89.81, 89.31, 93.4, 95.81)
cars1 <- c(123.227, 110.221, 93.14, 98.22, 122.3)
trucks1 <- c(120.31, 89.91, 89.81, 89.31, 93.4, 95.81)
# Graph cars using a y axis that ranges from 0 to 12
plot(cars, type="o", col="blue", ylim=c(80,130))

# Graph trucks with red dashed line and square points
lines(trucks, type="o", pch=22, lty=2, col="red")
lines(cars1, type="o", col="yellow", ylim=c(80,130))

# Graph trucks with red dashed line and square points
lines(trucks1, type="o", pch=22, lty=2, col="green")
# Create a title with a red, bold/italic font
title(main="Autos", col.main="red", font.main=4)

I would like to know how can I add the legend for each plot (line) in the plot.

Thank you

like image 415
Bio Avatar asked May 23 '16 22:05

Bio


2 Answers

legend( "topleft", c("cars", "trucks", "cars1", "trucks1"), 
text.col=c("blue", "red", "yellow", "green") )

Use the ?legend command to see options, such other locations on the graph, besides "topleft" or text size, whether to have a box around the legend, etc.

like image 181
JJ Hilfiger Avatar answered Sep 20 '22 07:09

JJ Hilfiger


For example

legend(
  "topright", 
  lty=c(1,2,1,2), 
  col=c("blue", "red", "yellow", "green"), 
  legend = c("cars", "trucks", "cars1", "trucks1")
)

See ?legend.

like image 28
lukeA Avatar answered Sep 21 '22 07:09

lukeA