HTML
, Javascript
CSS
frontend o backend
ui <- fluidPage(
sidebarLayout(
sidebarPanel(
sliderInput("nrand", "Simulaciones",
min = 50, max = 100, value = 70),
selectInput("col", "Color", c("red", "blue", "black")),
checkboxInput("punto", "Puntos:", value = FALSE)
),
mainPanel(plotOutput("outplot"))
)
)
server <- function(input, output) {
output$outplot <- renderPlot({
set.seed(123)
x <- rnorm(input$nrand)
t <- ifelse(input$punto, "b", "l")
plot(x, type = t, col = input$col)
})
}
http://104.140.247.162:3838/por-que-shiny-por-que-con-estilo/app-01-basico/
shinythemes
shinymaterial
shinydashboard
CSS
shinythemes
Los más fácil de implementar, sin tan alto impacto en código ni imagen.
shinythemes
Antes:
library(shiny)
ui <- fluidPage(
sidebarLayout(...
Ahora:
library(shiny)
library(shinythemes)
ui <- fluidPage(
theme = shinytheme("superhero"),
sidebarLayout(...
shinythemes
http://104.140.247.162:3838/por-que-shiny-por-que-con-estilo/app-02-shinythemes/
shinymaterial
Basado en las normativas de diseño Material Design desarrollado por Google para android
shinymaterial
Se debe cambiar el ui
, pero no así el server
library(shiny)
library(shinymaterial)
ui <- material_page(
nav_bar_color = "blue",
material_row(
material_column(width = 4,
material_card(depth = 4,
material_slider("nrand", "Simulaciones", min_value = 50,
max_value = 100, initial_value = 70),
material_dropdown("col", "Color", c("red", "blue", "black")),
material_checkbox("punto", "Puntos", initial_value = TRUE)
)
),
material_column(width = 8,
material_card(plotOutput("outplot"), depth = 4)
)
)
)
shinymaterial
http://104.140.247.162:3838/por-que-shiny-por-que-con-estilo/app-03-shinymaterial/
shinydashboard
Orientados a dashboards agrega más funcionalidades
shinydashboard
Cambio en el ui
ui <- dashboardPage(
dashboardHeader(),
dashboardSidebar(
sliderInput("nrand", "Simulaciones", min = 50, max = 100, value = 70),
selectInput("col", "Color", c("red", "blue", "black")),
checkboxInput("punto", "Puntos:", value = FALSE)
),
dashboardBody(
fluidRow(box(width = 12, plotOutput("outplot")))
)
)
shinydashboard
http://104.140.247.162:3838/por-que-shiny-por-que-con-estilo/app-04-shinydashboard/
CSS
La libertad a cierto costo
CSS
CSS
ofrece una libertad infinita
CSS
http://piaschile.portablehost3.net/mercado/benchmarking-internacional/
Nos vemos pronto