manual de navisworks en español pdf



Entrada de color dinámica en servidor brillante (1)

Aquí hay una versión de trabajo de lo que estás tratando de hacer. Mire las diferencias entre nuestro código, hubo algunos problemas con su código. Además, tenga en cuenta que no estoy usando shinysky porque ya no tiene el colourpicker (se mueve a un paquete diferente que está inactivo), así que en su lugar estoy usando inputColour de shinyjs .

library(shiny)
library(shinyjs)

dat <- data.frame(matrix(rnorm(120, 2, 3), ncol=3))

runApp(shinyApp(
  ui = fluidPage(
    uiOutput('myPanel'),
    plotOutput("plot")
  ),
  server = function(input, output, session) {
    cols <- reactive({
      lapply(seq_along(dat), function(i) {
        colourInput(paste("col", i, sep="_"), "Choose colour:", "black")        
      })
    })

    output$myPanel <- renderUI({cols()})

    # Put all the input in a vector
    colors <- reactive({
      lapply(seq_along(dat), function(i) {
        input[[paste("col", i, sep="_")]]
      })
    })

    output$plot <- renderPlot({
      if (is.null(input$col_1)) {
        cols <- rep("#000000", ncol(dat))
      } else {
        cols <- unlist(colors())
      }
      plot(dat[,1], col = cols[1])
      for(i in 2:ncol(dat)) lines(dat[,i], col = cols[i])
    })
  }
))

Descargo de responsabilidad: soy el autor de shinyjs

Intento crear una aplicación usando Shiny, donde quiero que el usuario pueda seleccionar el color de cada línea en un diagrama. La idea general es importar los datos en la aplicación y luego trazar cada variable en los datos. Traté de usar el colorpicker 'jscolorInput' del paquete shinysky, que funciona bien cuando se coloca en el archivo ui.r, pero como quiero que mi aplicación sea dinámica para cada conjunto de datos cargado, necesito poner el colorpicker en el servidor. R, usando una función reactiva. Cuando se coloca en el servidor, la 'jscolorInput' no funciona.

Lo que quiero hacer es:

  1. Reproduzca el colorpicker tantas veces como la cantidad de variables en los datos
  2. Tome la entrada del color y páselo como argumento de color en la trama

Soy muy nuevo en desarrollo brillante y stackoverflow, así que disculpen mis errores.

Aquí hay un ejemplo reproducible que no funciona.

require(shinysky)
require(shiny)

dat <- data.frame(matrix(rnorm(120, 2, 3), ncol=3))

runApp(list(
ui = bootstrapPage(
    # The reactive colorpicker
    uiOutput('myPanel'),
    # The plot
    plotOutput('plot')
),
server = function(input, output) {
    # Print as many colorpickers as the columns in the dataset
    cols <- reactive({
        n <- ncol(dat)
        for(i in 1:n){
            print(jscolorInput(paste("col", i, sep="_")))    
        }
    })

        output$myPanel <- renderPrint({cols()})
    # Put all the input in a vector
    colors <- reactive({
        n <- ncol(dat)
        lapply(1:n, function(i) {
            input[[paste("col", i, sep="_")]]
        })
    })

    output$plot <- renderPlot({
        cols <- ifelse(is.null(input$col_1), rep("000000 ", n), colors()) 
        plot(dat[,1], col= paste0("#", cols[1], ""))
                                for(i in 2:ncol(dat))lines(dat[,i], col=cols[i])
    })

}
))




shinysky