Skip to content

tombresser/ggradar

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

76 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ggradar

ggradar allows you to build radar charts (aka spider charts) with ggplot2. This package is based on Paul Williamson’s code, with new aesthetics and compatibility with ggplot2 2.0.

It was inspired by d3radaR, an htmlwidget built by timelyportfolio.

Install ggradar

devtools::install_github("ricardo-bion/ggradar", 
                          dependencies = TRUE)

Use ggradar

library(ggradar)
library(dplyr)
library(scales)
library(tibble)

mtcars_radar <- mtcars %>% 
  as_tibble(rownames = "group") %>% 
  mutate_at(vars(-group), rescale) %>% 
  tail(4) %>% 
  select(1:10)
group mpg cyl disp hp drat wt qsec vs am
Ford Pantera L 0.2297872 1.0 0.6981791 0.7491166 0.6728111 0.4236768 0.0000000 0 1
Ferrari Dino 0.3957447 0.5 0.1843352 0.4346290 0.3963134 0.3214012 0.1190476 0 1
Maserati Bora 0.1957447 1.0 0.5734597 1.0000000 0.3594470 0.5259524 0.0119048 0 1
Volvo 142E 0.4680851 0.0 0.1244699 0.2014134 0.6221198 0.3239581 0.4880952 1 1
ggradar(mtcars_radar)

Custom grid lines

You can use custom gridlines by changing grid.values. The default is c(0, 0.5, 1).

ggradar(mtcars_radar, grid.values = c(0, 0.25, 0.75, 1))

Custom fonts

You can also use custom font family in ggradar. In the following example, you would like to use Airbnb’s font family named ‘Circular Air’ by first download it, install it in your computer, and then register it to R using extrafont package.

# configured to work on a Mac, change directory to Unix or Windows
download.file("https://github.com/ricardo-bion/ggtech/blob/master/Circular%20Air-Light%203.46.45%20PM.ttf", "~/Circular Air-Light 3.46.45 PM.ttf", method = "curl")

extrafont::font_import(pattern = 'Circular', prompt = FALSE)

Following the same procedure as in the previous example, you can then use ‘Circular Air’ font family in ggradar by adjusting font.radar argument. The following example shows that ggradar is also can be used in pipe %>%.

mtcars %>% 
  as_tibble(rownames = "group") %>% 
  mutate_at(vars(-group), rescale) %>% 
  tail(4) %>% 
  select(1:10) %>% 
  ggradar(font.radar = "Circular Air")

Add ribbon

You can add a ribbon to the radar chart by setting ribbon = TRUE and providing ribbonn,min and ribbon.max. This can be usefull if you want to visualize confidence intervals.

mtcars_radar <- mtcars %>% 
  as_tibble(rownames = "group") %>% 
  mutate_at(vars(-group), rescale) %>% 
  tail(2) %>% 
  select(1:10)

mtcars_radar_min <- mtcars_radar %>% 
  mutate(across(!group, ~ . * 0.85))

mtcars_radar_max <- mtcars_radar %>%
  mutate(across(!group, ~ . * 1.15))

ggradar(mtcars_radar,
        ribbon = TRUE,
        ribbon.min = mtcars_radar_min,
        ribbon.max = mtcars_radar_max)

About

radar charts with ggplot2

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • R 100.0%