Skip to content

JohnCoene/countup

Repository files navigation

Travis build status

The underlying JavaScript libraries are CountUp.js, and Odometer.

Install

Install from Github with remotes:

# install.packages("remotes")
remotes::install_github("JohnCoene/countup")

News

Since version 0.1.1 the package also includes the odometer widget.

Examples

In the R console or R markdown.

library(countup)

countup(25)

countup(
  count = 1729,
  useEasing = TRUE,
  useGrouping = TRUE,
  separator = ",",
  decimal = ".",
  prefix = "US$",
  suffix = " bejillion"
)

In Shiny (since version 0.1.0), there are methods to programatically interact with the counter.

library(shiny)
library(countup)

ui <- fluidPage(
  h1(countupOutput("cnt")),
  actionButton("start", "start"),
  actionButton("pause", "pause / resume"),
  numericInput("value", "update to:", min = 1, max = 1000, value = 24)
)

server <- function(input, output, session) {

  output$cnt <- renderCountup({
    countup(1000, duration = 10, start = FALSE)
  })

  observeEvent(input$start, {
    countupProxy("cnt") %>% 
      countup_start()
  })

  observeEvent(input$value, {
    countupProxy("cnt") %>% 
      countup_update(input$value)
  })

  observeEvent(input$pause, {
    countupProxy("cnt") %>% 
      countup_pause_resume()
  })

}

shinyApp(ui, server)