Implementation of the radar chart from chart.js library
Clone or download
dougmet Merge pull request #42 from AdeelK93/master
Update chart rather than redrawing it in Shiny
Latest commit 1016356 Mar 27, 2017

README.md

radarchart

Build Status AppVeyor Build Status CRAN Status codecov CRAN RStudio mirror downloads Total CRAN downloads

An R implementation of the radar chart from the chart.js javascript library.

Installation

You can install from CRAN.

install.packages("radarchart")

To install the latest version direct from GitHub you'll need devtools installed. Assuming you have this run:

devtools::install_github("MangoTheCat/radarchart")

Or if you want to hack about with the code then clone the repository, change directory into it and run

devtools::install()

Note: htmlwidgets packages don't work well with devtools::load_all().

Usage

Once installed you can make a radar chart

library(radarchart)

labs <- c("Communicator", "Data Wangler", "Programmer",
          "Technologist",  "Modeller", "Visualizer")

scores <- list(
  "Rich" = c(9, 7, 4, 5, 3, 7),
  "Andy" = c(7, 6, 6, 2, 6, 9),
  "Aimee" = c(6, 5, 8, 4, 7, 6)
)

chartJSRadar(scores = scores, labs = labs, maxScale = 10)

Static image of example output

Static version. Real plots are interactive

Alternatively, you may supply a data frame and chartJSRadar will pickup the labels from the first column of the data. Also we're showing an option to display data set labels in the mouse over.

scores <- data.frame("Label"=c("Communicator", "Data Wangler", "Programmer",
                     "Technologist",  "Modeller", "Visualizer"),
                     "Rich" = c(9, 7, 4, 5, 3, 7),
                     "Andy" = c(7, 6, 6, 2, 6, 9),
                     "Aimee" = c(6, 5, 8, 4, 7, 6))

chartJSRadar(scores, maxScale = 10, showToolTipLabel=TRUE)

Static image of example output

Static version. Real plots are interactive

You can now also add a title

chartJSRadar(skills, main = "Data Science Radar")

Static image of example output

Static version. Real plots are interactive

Shiny

As it's based on htmlwidgets it's easy to use radarchart with Shiny. Just use the

chartJSRadarOutput("ID", width = "450", height = "300")

function in your ui.R and call chartJSRadar as normal in your server.R. A minimal example can be found in inst/shiny-examples/basic. You can run this with the runExampleApp function

runExampleApp("basic")

An "options" app is available to help construct more customised radar charts.

License

MIT © Mango Solutions, Nick Downie