Add legend to a plot with R

18,715

Solution 1

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.

Solution 2

For example

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

See ?legend.

Share:
18,715
Bio
Author by

Bio

Updated on July 24, 2022

Comments

  • Bio
    Bio almost 2 years

    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