You can use the **lines()** function in R to add new lines to an existing plot in base R.

This function uses the following syntax:

**lines(x, y, col, lwd, lty)**

where:

**x:**Vector of x-coordinates to use for new line**y**: Vector of y-coordinates to use for new line**col**: Color of the new line**lwd**: Width of the new line**lty**: Line type for new line

The following example shows how to use the **lines()** function in practice.

**Example: How to Use lines() Function in R**

Suppose we use the following code to create a simple scatter plot in base R:

**#define (x, y) coordinates
x <- c(1, 2, 3, 4, 5, 6, 7, 8)
y <- c(2, 5, 5, 9, 10, 14, 13, 15)
#create scatter plot
plot(x, y)
**

We can use the **lines()** function to add a line with specific (x, y) coordinates to the plot:

**#define (x, y) coordinates
x <- c(1, 2, 3, 4, 5, 6, 7, 8)
y <- c(2, 5, 5, 9, 10, 14, 13, 15)
#create scatter plot
plot(x, y)
#define (x, y) coordinates for new line to add
x_line <- c(1, 2, 3, 4, 5, 6, 7, 8)
y_line <- c(2, 4, 6, 8, 10, 12, 14, 16)
#add new line to plot
lines(x_line, y_line)
**

We can also use the **col**, **lwd** and **lty** arguments to modify the color, line width, and line style of the new line:

**#define (x, y) coordinates
x <- c(1, 2, 3, 4, 5, 6, 7, 8)
y <- c(2, 5, 5, 9, 10, 14, 13, 15)
#create scatter plot
plot(x, y)
#define (x, y) coordinates for new line to add
x_line <- c(1, 2, 3, 4, 5, 6, 7, 8)
y_line <- c(2, 4, 6, 8, 10, 12, 14, 16)
#add new line to plot with custom style
lines(x_line, y_line, col='red', lwd=6, lty='dashed')**

Feel free to modify the values for the various arguments in the **lines()** function to add a new line with the exact style you’d like.

**Additional Resources**

The following tutorials explain how to perform other common tasks in R:

How to Use abline() in R to Add Straight Lines to Plots

How to Create a Scatterplot with a Regression Line in R

How to Adjust Line Thickness in ggplot2