2014-07-02 5 views
6

È possibile utilizzare un widget di selezione per visualizzare una tavolozza di colori per la selezione del colore reattiva? Mi piacerebbe lasciare che l'utente scelga i colori per la trama creata da un'app lucida.Colori reattivi in ​​lucido

risposta

3

Per chi arriva qui alla ricerca di un selettore di colori, la risposta precedente con shinysky non è aggiornata (il selettore di colori di è stato spostato in un pacchetto che non è in manutenzione)

C'è un altro selettore di colori disponibile per il lucido nel pacchetto shinyjs.

library(ggplot2) 
library(shiny) 
library(shinyjs) 

runApp(shinyApp(
    ui = fluidPage(
    colourInput("col", "Select colour", "grey"), 
    plotOutput("plot") 
), 
    server = function(input, output, session) { 
    output$plot <- renderPlot({ 
     ggplot(cars, aes(speed, dist)) + 
     geom_point() + 
     theme(panel.background = element_rect(fill = input$col)) 
    }) 
    } 
)) 

enter image description here

Disclaimer: Sono l'autore di questo pacchetto.

6

Il pacchetto shinysky ha un colorpicker che è possibile utilizzare con shiny:

require(shinysky) 
require(shiny) 

runApp(list(
    ui = bootstrapPage(
    jscolorInput("colorid"), 
    uiOutput('myPanel'), 
    plotOutput('plot') 
), 
    server = function(input, output) { 
    output$myPanel <- renderUI({ 
     mystyle <- ifelse(is.null(input$colorid), "ffffff", input$colorid) 
     inputPanel(
     numericInput('n', 'Number of obs', 100) 
     , style = paste0("background-color:#", mystyle, ";") 
    ) 
    }) 
    output$plot <- renderPlot({ hist(runif(input$n)) }) 
    } 
)) 

enter image description here

Al momento non è sul CRAN quindi sarà necessario installarlo tramite devtools dettagli sono a https://github.com/AnalytixWare/ShinySky