Animated multibarchart with (R)nvd3

Posted on May 20, 2022 by Stéphane Laurent

I really like the animated multibarchart of the JavaScript library NVD3. That’s why I did the ‘Rnvd3’ package.

library(Rnvd3)

dat <- reshape2::melt(
  apply(HairEyeColor, c(1, 2), sum), value.name = "Count"
)

# style axis titles with CSS ####
library(htmltools)
CSS <- HTML(
  ".nvd3 .nv-axis.nv-x text.nv-axislabel,
   .nvd3 .nv-axis.nv-y text.nv-axislabel {
     font-size: 2rem;
     fill: red;
  }"
)

widget <- multiBarChart(
  dat, Count ~ Eye, "Hair", palette = "turbo"
)
prependContent(
  widget,
  tags$style(CSS)
)

This chart is also available in the ‘rCharts’ package, but this package is not maintained.