particles: Particles background

Description Usage Arguments Examples

View source: R/particles.R

Description

Add a beautiful interactive particles background in Shiny apps and rmarkdown documents.

Usage

1
particles(config = NULL, target_id = NULL, element_id = NULL, timeout = 0)

Arguments

config

Path to a config JSON for particles.js or a list generated with particles_config. Visit https://vincentgarreau.com/particles.js/ to play with available options and create a custom JSON.

target_id

By default, a custom HTML tag is created to render the particles, you can target an existing element by providing its id, a special value is "body" to attach particles to the page body.

element_id

Id for the widget. It will also used for the id of the HTML tag created suffixed by "-particles". Not used if target_id is provided.

timeout

Set a timeout before loading particles, maybe useful if you need initializing some HTML elements with percentage height.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# See in RStudio viewer or browser
particles()


# Shiny usage: call particles in your UI

if (interactive()) {

library(shiny)
library(particlesjs)


ui <- fluidPage(

  particles(),

  headerPanel('Iris k-means clustering'),

  sidebarLayout(
    sidebarPanel(
      selectInput('xcol', 'X Variable', names(iris)),
      selectInput('ycol', 'Y Variable', names(iris),
                  selected=names(iris)[[2]]),
      numericInput('clusters', 'Cluster count', 3,
                   min = 1, max = 9)
    ),
    mainPanel(
      plotOutput('plot1')
    )
  )
)

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

  selectedData <- reactive({
    iris[, c(input$xcol, input$ycol)]
  })

  clusters <- reactive({
    kmeans(selectedData(), input$clusters)
  })

  output$plot1 <- renderPlot({
    palette(c("#E41A1C", "#377EB8", "#4DAF4A", "#984EA3",
              "#FF7F00", "#FFFF33", "#A65628", "#F781BF", "#999999"))

    par(mar = c(5.1, 4.1, 0, 1))
    plot(selectedData(),
         col = clusters()$cluster,
         pch = 20, cex = 3)
    points(clusters()$centers, pch = 4, cex = 4, lwd = 4)
  })


}

shinyApp(ui, server)

}

dreamRs/shinyparticles documentation built on Dec. 1, 2019, 5:16 a.m.