El encabezado y la barra lateral

Creación de paneles con shinydashboard

Png Kee Seng

Researcher

El encabezado

  • El encabezado es como el letrero del restaurante
  • Puede contener el título del dashboard
  • Puede contener menús desplegables
    • P. ej., mensajes, notificaciones, tareas

Aquí tienes un ejemplo de un escaparate sencillo.

El encabezado es como el letrero de un restaurante. Puede incluir elementos prácticos o estéticos. Aquí tienes un ejemplo de un frontal complejo.

1 Imagen de upklyak en Freepik
Creación de paneles con shinydashboard

El título en shinydashboard

  • El encabezado se define con dashboardHeader()
  • ¿Y si el título es demasiado largo?
    • Ajusta el argumento titleWidth
    • Por defecto: 230 píxeles
header <- dashboardHeader(title = "Soccer tournament")
header <- dashboardHeader(title = "Analysis for global soccer tournament")
header <- dashboardHeader(title = "Analysis for global soccer tournament")
                            titleWidth = 400)

El ancho del encabezado puede ajustarse para títulos largos.

Creación de paneles con shinydashboard

Añadir un menú con un mensaje

  • Puedes añadir menús desplegables al encabezado
  • Tres tipos de menús
    • Mensajes
    • Notificaciones
    • Tareas
  • Añade dropdownMenu() de type "messages"
    • Añade un messageItem()
    • Icono por defecto: icon("user")
    • También podemos definir time
header <- dashboardHeader(
  title = "Analysis for FIFA world cup",
  titleWidth = 300,
  dropdownMenu(type = "messages",

messageItem("Data division", "Keep up the good work!",
time = "5 mins"
)))

Menú desplegable con un mensaje.

Creación de paneles con shinydashboard

Añadir un menú con varios mensajes

  • Añade otro messageItem() dentro de dropdownMenu() llamado "Twitter"

Un menú desplegable con dos mensajes.

header <- dashboardHeader(
  title = "Analysis for global soccer tournament",
  titleWidth = 400,
  dropdownMenu(type = "messages",
    messageItem("Data division",
      "Keep up the good work!",
      time = "5 mins"
    ),

messageItem("Twitter", "You have a Tweet!", time = "1 hour", icon=icon("twitter") ) ) )
Creación de paneles con shinydashboard

Añadir un menú con varios ítems

  • También podemos añadir otros tipos de ítems
    • messageItem()
    • notificationItem()
    • taskItem()
  • Hay diferencias visuales
    • messageItem(): Icono por defecto icon("user")
    • notificationItem(): Icono por defecto icon("exclamation-triangle")
    • taskItem(): Incluye una barra de progreso
header <- dashboardHeader(
  title = "Analysis for global soccer tournament",
  titleWidth = 400,
  dropdownMenu(type = "messages",

messageItem("Data division", "Keep up the good work!", time = "5 mins"), messageItem("Twitter", "You have a Tweet!", time = "1 hour", icon=icon("twitter")),
notificationItem("This is a notification." ),
taskItem(value = 30, color = "blue", "Dashboard construction") ))
Creación de paneles con shinydashboard

Añadir un menú con varios ítems

Un menú desplegable con varios ítems

Creación de paneles con shinydashboard

Añadir más menús desplegables

  • También podemos añadir otro menú desplegable

Un encabezado con más de un menú desplegable.

header <- dashboardHeader(
  title = "Analysis for global soccer tournament",
  titleWidth = 400,

dropdownMenu(type = "messages", messageItem("Data division", "Keep up the good work!", time = "5 mins"), messageItem("Twitter", "You have a Tweet!", time = "1 hour", icon=icon("twitter")), notificationItem("This is a notification."), taskItem(value = 30, color = "blue", "Dashboard construction")),
dropdownMenu(type = "notifications", notificationItem(icon = icon("users"), "This is another notification." )))
Creación de paneles con shinydashboard

La barra lateral

  • La barra lateral se define con dashboardSidebar()
  • Su ancho se ajusta con width
  • sidebarMenu() permite varias páginas en un shinydashboard

Una barra lateral con dos botones

sidebar <- dashboardSidebar()
sidebar <- dashboardSidebar(width=400)
sidebar <- dashboardSidebar(width=400,
  sidebarMenu(
    id = "pages",
    menuItem("Many charts", tabName = "charts", 
        icon = icon("chart-line")),
    menuItem("Statistics", icon = icon("file-excel"), 
        tabName = "stats")
  )
)
sidebar <- dashboardSidebar(disable = TRUE)
Creación de paneles con shinydashboard

Añadir una insignia

  • También se puede añadir una insignia
    • Define badgeLabel y badgeColor

Una barra lateral con insignias adicionales

sidebar <- dashboardSidebar(width=400,
  sidebarMenu(
    id = "pages",
    menuItem("Many charts", tabName = "charts", 
             icon = icon("chart-line"),

badgeLabel = "New content!", badgeColor = "green"),
menuItem("Statistics", icon = icon("file-excel"), tabName = "stats",
badgeLabel = "urgent", badgeColor = "red")
) )
Creación de paneles con shinydashboard

Añadir subpestañas

  • Se pueden añadir subpestañas con menuSubItem()
  • No se pueden añadir insignias a una pestaña con subpestañas

Una barra lateral con subpestañas

sidebar <- dashboardSidebar(width=400,
  sidebarMenu(
    id = "pages",
    menuItem("Many charts", tabName = "charts", 
             icon = icon("chart-line"),
             badgeLabel = "New content!", 
             badgeColor = "green"),
    menuItem("Statistics", icon = icon("file-excel"), 
            tabName = "stats", 
            menuSubItem("Team 1", tabName = "team1", 
                     icon=icon("user")),
            menuSubItem("Team 2", tabName = "team2", 
                     icon=icon("user")))
  )
)
Creación de paneles con shinydashboard

Añadir entradas y salidas en la barra lateral

  • Se pueden añadir entradas y salidas a la barra lateral
  • También hay que definirlas en server

Una barra lateral con un checkboxGroupInput().

sidebar <- dashboardSidebar(width=400,
  sidebarMenu(
    id = "pages",
    menuItem("Many charts", tabName = "charts", 
             icon = icon("chart-line"),
             badgeLabel = "New content!", 
             badgeColor = "green"),
    menuItem("Statistics", icon = icon("file-excel"), 
            tabName = "stats", 
            menuSubItem("Team 1", tabName = "team1", 
            icon=icon("user")),
            menuSubItem("Team 2", tabName = "team2", 
            icon=icon("user"))),

menuItem("A couple of checkboxes", checkboxGroupInput("checkboxes", "Day of the week", choices = c("Mon","Tue","Wed","Thu","Fri","Sat","Sun"), selected = c("Mon","Tue","Wed","Thu","Fri"))) ) )
Creación de paneles con shinydashboard

¡Vamos a practicar!

Creación de paneles con shinydashboard

Preparing Video For Download...