要向仪表板标题添加文本,我采用了this question(带有styles.css文件)的第二个答案的解决方案。我必须插入动态文本,而脚本只允许静态文本。我的文字是:
format(Sys.Date(), format="%A %d %b %Y")
如何解决?
答案 0 :(得分:0)
如果要在Shiny中的标题上显示动态日期,则下面是两种不同的解决方案。
如果您需要使用shinydashboard
软件包,此代码将很有帮助
library(shiny)
library(shinydashboard)
header <- dashboardHeader(
title = "dynamicDates",
tags$li(class = "dropdown", tags$a(HTML(paste(uiOutput("Refresh1"))))))
body <- dashboardBody()
sidebar <- dashboardSidebar()
ui <- dashboardPage(header, sidebar, body)
server <- function(input, output) {
output$Refresh1 <- renderText({
toString(format(Sys.Date(), format = "%A %d %b %Y"))
})
}
shinyApp(ui, server)
在此代码中,我没有使用shinydashboard
软件包。借助简单的shiny
函数和少量HTML tags
的组合,我们可以根据需要进行自定义。
library(shiny)
ui <- fluidPage(
titlePanel("", windowTitle = "Dynamic Dates"),
titlePanel(title = tags$div(img(src = "https://www.rstudio.com/wp-content/uploads/2014/04/shiny.png", width = 125, height = 115, align = "left"))),
titlePanel(title = tags$div(class = "header" , tags$p("Dynamic", tags$b(" Dates"),style = "text-align: center; color:navy;"), style = "text-align: center; color:navy;")),
titlePanel(title = tags$div(uiOutput("dynamicDate"), align = 'right')))
server <- function(input, output) {
output$dynamicDate <- renderUI(toString(format(Sys.Date(), format = "%A %d %b %Y")))
}
shinyApp(ui, server)