How can I create Radar Charts in R? Can you provide some examples?

Radar charts, also known as spider charts, are a type of graphical representation that displays multiple quantitative variables on a radial axis. They are useful for comparing different categories or groups based on their performance in various areas. To create radar charts in R, one can use the “radarchart” function from the “fmsb” package. This function allows users to input data and customize the chart’s appearance, such as labels, titles, and colors. Additionally, there are other packages, such as “ggplot2” and “plotly,” that also provide options for creating radar charts in R. Some examples of radar charts in R can be found in the packages’ documentation or online tutorials.

Create Radar Charts in R (With Examples)


A radar chart (sometimes called a “spider chart”) is a type of chart that offers a unique way to visualize the quantities of several variables.

This tutorial explains how to create the following radar chart in R, using the fmsb library:

Custom radar chart (spider chart) in R

Basic Radar Chart in R

In order to create a radar chart in R, we need our data to meet the following requirements:

  • Each variable that we’d like to display on the edges of the chart must be its own column.
  • The first row must contain the max value.
  • The second row must contain the min value.
  • The third row must contain the value that you’d like to display on the radar chart.

To illustrate this, we will use the following data frame that contains the number of customers that come into a given shop during each day of the week:

#create data
df <- data.frame(Mon=c(100, 0, 34),
                 Tue=c(100, 0, 48),
                 Wed=c(100, 0, 58),
                 Thu=c(100, 0, 67),
                 Fri=c(100, 0, 55),
                 Sat=c(100, 0, 29),
                 Sun=c(100, 0, 18))
                  
#view data
df

  Mon Tue Wed Thu Fri Sat Sun
1 100 100 100 100 100 100 100
2   0   0   0   0   0   0   0
3  34  48  58  67  55  29  18

Once the data is in this format, we can use the radarchart() function from the fmsb library to create a basic radar chart:

library(fmsb)

radarchart(df)

Radar chart in R

Customizing Radar Charts in R

We can customize the radar chart by using the following arguments:

  • pcol: Line color
  • pfcol: Fill color
  • plwd: Line width
  • cglcol: Net color
  • cglty: Net line type
  • axislabcol: Axis label color
  • caxislabels: Vector of axis labels to display
  • cglwd: Net width
  • vlcex: Group labels size

The following code shows an example of how to use some of these arguments to create a customized radar chart:

radarchart(df,
    axistype=1, 
    pcol='pink',
    pfcol=rgb(0.9,0.2,0.5,0.3),
    plwd=3, 
    cglcol='grey',
    cglty=1,
    axislabcol='grey',
    cglwd=0.6,
    vlcex=1.1,
    title='Customers per Day'
    )

Custom radar chart (spider chart) in R

Additional Resources

How to Create Heatmaps in R
How to Create a Lollipop Chart in R
How to Create a Population Pyramid in R

x