2014-07-02 15 views
6

Ist es möglich, ein Auswahl-Widget zum Anzeigen einer Farbpalette für die reaktive Farbauswahl zu verwenden? Ich möchte den Benutzer die Farbe (n) für das Diagramm auswählen lassen, das von einer glänzenden App erstellt wird.Reaktive Farben in glänzend

Antwort

3

Für alle, die nach einem Farbwähler suchen, ist die vorherige Antwort shinysky veraltet (der Farbwähler von es wurde in ein Paket verschoben, das nicht gewartet wird)

Im Paket shinyjs steht ein weiterer Farbwechsler für glänzend zur Verfügung.

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

Haftungsausschluss: Ich bin der Autor dieses Pakets.

6

Das shinysky Paket hat eine Colorpicker, die Sie mit shiny verwenden:

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

Es ist derzeit nicht auf CRAN so müssen Sie es installieren über devtools Details sind bei https://github.com/AnalytixWare/ShinySky