# How to add Circles in Plots in R with Examples

How to add Circles in Plots in R?. To draw a circle in a plot in R, use the following methods.

## Approach 1: Using Base R, draw a circle.

`library(plotrix)`

Syntax for creating scatter plot

`plot(x, y)`

Now we can add circles at specific (x, y) coordinates with specific radius

`draw.circle(x=3, y=8, radius=.5)`

## Approach 2: ggplot2 is used to draw a circle.

```library(ggplot2)
library(ggforce)```

make a scatter plot with a circle at a given position and radius

```ggplot(data = df, aes(x, y)) +
geom_point() +
geom_circle(aes(x0=3, y0=8, r=1), inherit.aes=FALSE) +
coord_fixed()```

The examples below demonstrate how to apply each strategy in practice.

### Example 1: Using Base R, draw a circle

You must first install and load the plotrix package in order to create a circle on a plot in R:

```install.packages('plotrix')
library(plotrix)```

To add a circle to a scatter plot in base R, we can use the plotrix package’s draw.circle() function.

create a data frame

```df <- data.frame(x=c(2, 3, 4, 3, 4, 5, 6),
y=c(6, 3, 5, 2, 8, 11, 10))```
```df
x  y
1 2  6
2 3  3
3 4  5
4 3  2
5 4  8
6 5 11
7 6 10```

create a scatter plot

`plot(df\$x, df\$y)`

`draw.circle(x=3, y=8, radius=.5)`

You can also use the draw to your advantage. To plot many circles on the same plot, use the circle() function multiple times.

Let’s create a data frame

```df <- data.frame(x=c(2, 3, 4, 3, 4, 5, 6),
y=c(6, 3, 5, 2, 8, 11, 10))```

As usual, we can create a scatter plot

`plot(df\$x, df\$y)`

Now add multiple circles to the plot

```draw.circle(x=3, y=8, radius=.5)
draw.circle(x=4, y=5, radius=.5, border='blue', col='red', lwd=5, lty='dashed')```

At the (x, y) coordinates that we supplied, many circles have been placed on the plot.

Best Data Science Books For Beginners » finnstats

### Example 2: Draw Circle Using ggplot2

Install and load the ggplot2 and ggforce packages before drawing a circle on a plot in ggplot2.

```install.packages('ggplot2')
install.packages('ggforce')
library(ggplot2)
library(ggforce)```

Next, we can use the ggforce package’s geom circle() function to add a circle to a scatter plot in ggplot2.

Let’s create a data frame

```df <- data.frame(x=c(2, 3, 4, 3, 4, 5, 6),
y=c(6, 3, 5, 2, 8, 11, 10))```

Now create a scatter plot with a circle

```ggplot(data = df, aes(x, y)) +
geom_point() +
geom_circle(aes(x0=3, y0=8, r=1), linetype='dashed', color='red',
fill='blue', lwd=1.5, inherit.aes=FALSE) +
coord_fixed()```

The circle is centered on the (x, y) coordinates we gave.

Note that if you don’t use the coord fixed() parameter, the circle can end up looking like an ellipse.

• 5k