# Mastering the Art of Drawing Circles in Plots with R

[This article was first published on

Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

**Steve's Data Tips and Tricks**, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here)Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

# Introduction

As an R programmer, you may want to draw circles in plots to highlight certain data points or to create visualizations. Here are some simple steps to draw circles in plots using R:

# Examples

- First, create a scatter plot using the
`plot()`

function in R. For example, you can create a scatter plot of`x`

and`y`

values using the following code:

x <- c(1, 2, 3, 4, 5) y <- c(2, 4, 6, 8, 10) plot(x, y)

- To draw a circle on the plot, you can use the
`symbols()`

function in R. The`symbols()`

function allows you to draw various shapes, including circles, squares, triangles, and more. To draw a circle, set the`circles`

argument to`TRUE`

. For example, to draw a circle with a radius of 0.5 at the point (3, 6), use the following code:

plot(x, y) symbols(3, 6, circles = 1, add = TRUE)

- You can also customize the color and border of the circle using the
`bg`

and`fg`

arguments. For example, to draw a red circle with a blue border, use the following code:

plot(x, y) symbols(3, 6, circles = 1, add = TRUE, bg = "red", fg = "blue")

- To draw multiple circles on the plot, you can use a loop to iterate over a list of coordinates and radii. For example, to draw three circles with different radii at different points, use the following code:

plot(x, y) coords <- list(c(2, 4), c(3, 6), c(4, 8)) radii <- c(0.1, 0.2, 0.3) for (i in 1:length(coords)) { symbols( coords[[i]][1], coords[[i]][2], circles = radii[[i]], add = TRUE, bg = "red", fg = "blue", inches = FALSE ) }

- Finally, you can add a title and axis labels to the plot using the
`title()`

,`xlab()`

, and`ylab()`

functions. For example, to add a title and axis labels to the plot, use the following code:

x <- c(1, 2, 3, 4, 5) y <- c(2, 4, 6, 8, 10) plot( x, y, main = "Scatter Plot with Circles", xlab = "X Values", ylab = "Y Values" ) coords <- list(c(2, 4), c(3, 6), c(4, 8)) radii <- c(0.1, 0.2, 0.3) for (i in 1:length(coords)) { symbols( coords[[i]][1], coords[[i]][2], circles = radii[[i]], add = TRUE, bg = "red", fg = "blue", inches = FALSE ) }

Here is one last exmple:

# Create a scatter plot with multiple circles n <- 10 x <- runif(n, -2, 2) y <- runif(n, -2, 2) size <- runif(n, 0.1, 1) fill <- sample(colors(), n) border <- sample(colors(), n) symbols(x, y, circles = size, inches = FALSE, add = F, bg = fill, fg = border)

# Conclusion

Overall, drawing circles in plots is a simple and effective way to highlight certain data points or to create visualizations. Try experimenting with different coordinates, radii, colors, and borders to create your own custom plots.

To

**leave a comment**for the author, please follow the link and comment on their blog:**Steve's Data Tips and Tricks**.R-bloggers.com offers

**daily e-mail updates**about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.

Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.