我想更改valueBox
es的值和字幕的字体大小。
以下是我的尝试,但对于如何以类似于默认外观的方式对其进行更改的任何建议,我们将不胜感激。下面是我的可重演示例。
require(shinydashboard)
valueBox2 <- function (value,header_val=4, subtitle, icon = NULL, color = "aqua", width = 4,
href = NULL) {
shinydashboard:::validateColor(color)
if (!is.null(icon))
shinydashboard:::tagAssert(icon, type = "i")
boxContent <- div(class = paste0("small-box bg-", color),
div(class = "inner", eval(parse(text=paste0('h',header_val,'(',shQuote(value),')'))), p(subtitle)), if (!is.null(icon))
div(class = "icon-large", icon))
if (!is.null(href))
boxContent <- a(href = href, boxContent)
div(class = if (!is.null(width))
paste0("col-sm-", width), boxContent)
}
ui = dashboardPage(title='hello',
dashboardHeader(title='hello2'),
dashboardSidebar(
sliderInput('hval',label='header value',min=1,max=6,value=3)
),
dashboardBody(
valueBoxOutput('tmp')
)
)
server = function(input, output) {
output$tmp <- renderValueBox({
valueBox2(value='90k',header_val = input$hval, subtitle='some long descritptive text',icon=icon("car"))
})
}
shinyApp(ui=ui,server=server)
最佳答案
嗨,您可以使用valueBox
标记直接在p
中更改字体大小,而无需重写valueBox
函数(如果愿意,只需将value
和subtitle
args包装在tags$p
中),请尝试:
library("shiny")
library("shinydashboard")
# header
header <- dashboardHeader(title = "Changing the font size of valueBoxes", titleWidth = 450)
# sidebar
sidebar <- dashboardSidebar(disable = TRUE)
# body
body <- dashboardBody(
valueBox(
value = "90k",
subtitle = "some long descritptive text",
icon = icon("car")
),
valueBox(
value = tags$p("90k", style = "font-size: 150%;"),
subtitle = tags$p("some long descritptive text", style = "font-size: 150%;"),
icon = icon("car fa-lg")
),
valueBox(
value = tags$p("90k", style = "font-size: 200%;"),
subtitle = tags$p("some long descritptive text", style = "font-size: 200%;"),
icon = icon("car fa-2x")
),
valueBoxOutput(outputId = "mybigbox")
)
# server
server <- function(input, output) {
output$mybigbox <- renderValueBox({
valueBox(
value = tags$p("90k", style = "font-size: 300%;"),
subtitle = tags$p("some long descritptive text", style = "font-size: 300%;"),
icon = icon("car fa-3x")
)
})
}
shinyApp(ui = dashboardPage(header, sidebar, body), server = server)
关于r - 更改valueBoxes的字体大小,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38441732/