Draw Plot With Circle In R (3 Examples) - Statistics Globe

Draw Plot with Circle in R (3 Examples)

This article demonstrates how to draw circles in the R programming language.

The page will consist of this:

1) Example Data 2) Example 1: Draw Plot with Circle Using Base R & plotrix Package 3) Example 2: Draw Plot with Circle Using ggplot2 & ggforce Packages 4) Example 3: Draw Plot with Multiple Circles Using ggplot2 & ggforce Packages 5) Video, Further Resources & Summary 6) Subscribe to the Statistics Globe Newsletter 7) Thank you!

Here’s the step-by-step process:

Example Data

Before we can create some graphics in R, we have to create some example data:

set.seed(394567) # Create example data data <- data.frame(x = rnorm(100), y = rnorm(100)) head(data) # Print example data

table 1 data frame draw circle

The output of the previous code is shown in Table 1 – We have created a data frame containing two numeric columns.

Example 1: Draw Plot with Circle Using Base R & plotrix Package

In this example, I’ll explain how to draw a Base R plot with circles.

Consider the following scatterplot:

plot(data$x, data$y) # Draw Base R plot without circle

r graph figure 1 draw circle

After executing the previous syntax the scatterplot shown in Figure 1 has been plotted.

Let’s assume that we want to add a circle to this plot. In this case, we can use the plotrix package.

If we want to use the functions of the plotrix package, we first have to install and load plotrix to R:

install.packages("plotrix") # Install plotrix package library("plotrix") # Load plotrix package

Next, we can use the draw.circle function of the plotrix package to add a circle to our Base R graph:

plot(data$x, data$y) # Draw Base R plot with circle draw.circle(0, 0, 1)

r graph figure 2 draw circle

As you can see, we have added a circle to our plot.

Note that we have specified three values within the draw.circle function: The x-axis location, the y-axis location, and the radius of our circle.

Example 2: Draw Plot with Circle Using ggplot2 & ggforce Packages

In this example, I’ll illustrate how to annotate a circle to a ggplot2 plot.

In case we want to use the functions of the ggplot2 package, we first need to install and load ggplot2:

install.packages("ggplot2") # Install & load ggplot2 package library("ggplot2")

Next, we can draw a ggplot2 scatterplot as shown below:

ggplot(data, aes(x, y)) + # Draw ggplot2 plot without circle geom_point()

r graph figure 3 draw circle

If we want to add a circle to this graph, we first have to install and load the ggforce package to RStudio:

install.packages("ggforce") # Install ggforce package library("ggforce") # Load ggforce package

Furthermore, we have to prepare a data set containing the position and the radius of our circle:

data_circle <- data.frame(x0 = 0, # Create data for circle y0 = 0, r = 1) data_circle # Print data for circle

table 2 data frame draw circle

As shown in Table 2, the previously shown R programming syntax has created a data frame containing the circle location and radius.

Next, we can use the geom_circle function of the ggforce package to add a circle to our plot:

ggplot() + # Draw ggplot2 plot with circle geom_point(data = data, aes(x, y)) + geom_circle(data = data_circle, aes(x0 = x0, y0 = y0, r = r))

r graph figure 4 draw circle

Note that we have specified the input data frame within the geom_point function and the circle data frame within the geom_circle function.

Example 3: Draw Plot with Multiple Circles Using ggplot2 & ggforce Packages

It is also possible to draw multiple circles to a ggplot2 plot using the ggforce package.

First, we have to create an extended version of our circle data:

data_circle2 <- data.frame(x0 = 1:5, # Create data for multiple circles y0 = 1:5, r = 1:5) data_circle2 # Print data for multiple circles

table 3 data frame draw circle

Table 3 shows the output of the previous syntax: Each row of the data frame corresponds to one circle.

In the next step, we can draw our data and our circles in a ggplot2 plot:

ggplot() + # Draw ggplot2 plot with multiple circles geom_point(data = data, aes(x, y)) + geom_circle(data = data_circle2, aes(x0 = x0, y0 = y0, r = r, col = r))

r graph figure 5 draw circle

Note that we have also changed the color codes of the circles. You may use the typical ggplot2 syntax to modify further parameters of the circles as well.

Video, Further Resources & Summary

I have recently published a video on my YouTube channel, which shows the R programming codes of this post. Please find the video below.

In addition, you may want to read the other tutorials on this website:

  • Add Regression Line to ggplot2 Plot
  • Draw Plot with Confidence Intervals
  • Draw Vertical Line to X-Axis of Class Date in ggplot2 Plot
  • Draw Dates to X-Axis of Plot
  • Graphics Gallery in R
  • R Programming Tutorials

In this R programming article you have learned how to draw a plot with circles. If you have further questions, let me know in the comments section. In addition, don’t forget to subscribe to my email newsletter for updates on the newest tutorials.

 

Subscribe to the Statistics Globe Newsletter

Get regular updates on the latest tutorials, offers & news at Statistics Globe.I hate spam & you may opt out anytime: Privacy Policy.

Subscribe  

Loading...

Thank you!

Please check your email inbox and click the confirmation link to complete your subscription. If you don’t see the email within a few minutes, please also check your spam/junk folder.

Tag » Add Circle R Plot