#javascript #r #shiny
#javascript #r #блестящий
Вопрос:
Возможно ли использовать виджет выбора для отображения цветовой палитры для выбора реактивного цвета? Я хотел бы позволить пользователю выбирать цвета для графика, созданного блестящим приложением.
Ответ №1:
В shinysky
пакете есть палитра цветов, которую вы можете использовать с 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)) })
}
))
В настоящее время его нет в CRAN, поэтому вам нужно будет установить его через devtools
подробности на https://github.com/AnalytixWare/ShinySky
Ответ №2:
Для тех, кто приходит сюда в поисках средства выбора цвета, предыдущий ответ с использованием shinysky
устарел (средство выбора цвета оттуда было перенесено в пакет, который не обслуживается)
В пакете shinyjs для shiny доступен другой инструмент выбора цвета.
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))
})
}
))
Отказ от ответственности: Я автор этого пакета.