我正在使用formattable在RShiny中生成一个表。我知道如何增加表中数据字体的大小,但无法弄清楚如何增加列名/标题的大小。
输出数据:
.grid-container{
display: flex;
flex-direction: row;
flex-wrap: wrap;
height: $grid-container-height;
width:$grid-width;
max-width: $grid-width;
overflow: hidden;
background: yellowgreen;
}
.grid{
height:100%;
width:100%;
display:grid;
grid-template-rows:repeat(2,1fr);
grid-template-columns:repeat(4,1fr);
grid-gap:10px 7px;
flex-basis: 100%;
}
.slide_view{
transform: translateY(-100%) /* 0% to show the first grid,-100% to show the second grid,and so forth */;
}
闪亮的应用代码
structure(list(athlete = c("Joe Bloggs","Joe Bloggs"),WeekEnding = structure(c(18329,18336),class = "Date"),Total.Training..hrs. = c(14.2,15.7),TimeInZones = c(7.9,11.4),TimeInZones.percent = c(55.7,72.7),T2.hrs = c(2.3,5.6),HR_complete_percent = c(100,100),Time...task..hrs. = c(11.6,7.2),Rowing.volume.km. = c(118.0552,101.9185),On.water..km. = c(108.3552,74.1185),Ergo..km. = c(9.7,27.8)),row.names = 1:2,class = "data.frame")
以上面的代码为例,我的列标题为library(tidyverse)
library(rmarkdown)
library(shiny)
library(shinythemes)
library(dplyr)
library(readr)
library(data.table)
library(formattable)
ui <- (fluidPage(
titlePanel("Training Report"),sidebarPanel(
selectInput("dateInput","Week Ending",choices = Data$WeekEnding,width = "50%"),selectInput("athleteInput","Athlete",choices = Data$athlete,width ="50%"),mainPanel(
br(),strong(h3("Data")),formattableOutput("results",width = "170%")))))
server <- (function(input,output){
output$results <- renderFormattable({
tableFilter <- filter(Data,Data$athlete == input$athleteInput)
Table <- data.table(
"Variable" = c( "Total training (hrs)","HR data (%)","T2 hours","Time @ task (hrs)","Rowing volume (km)"),"Last Week" = c(sum(tableFilter$Total.Training..hrs.[tableFilter$WeekEnding == as.Date(input$dateInput)]),(sum(tableFilter$HR_complete_percent[tableFilter$WeekEnding == as.Date(input$dateInput)])),sum(tableFilter$T2.hrs[tableFilter$WeekEnding == as.Date(input$dateInput)]),sum(tableFilter$Time...task..hrs.[tableFilter$WeekEnding == as.Date(input$dateInput)]),sum(tableFilter$Rowing.volume.km.[tableFilter$WeekEnding == as.Date(input$dateInput)])),"Change" = percent(c((sum(tableFilter$Total.Training..hrs.[tableFilter$WeekEnding == as.Date(input$dateInput)]) -
sum(tableFilter$Total.Training..hrs.[tableFilter$WeekEnding == as.Date(input$dateInput)-7]))/
sum(tableFilter$Total.Training..hrs.[tableFilter$WeekEnding == as.Date(input$dateInput)-7])," ",(sum(tableFilter$T2.hrs[tableFilter$WeekEnding == as.Date(input$dateInput)]) -
sum(tableFilter$T2.hrs[tableFilter$WeekEnding == as.Date(input$dateInput)-7]))/
sum(tableFilter$T2.hrs[tableFilter$WeekEnding == as.Date(input$dateInput)-7]),(sum(tableFilter$Time...task..hrs.[tableFilter$WeekEnding == as.Date(input$dateInput)]) -
sum(tableFilter$Time...task..hrs.[tableFilter$WeekEnding == as.Date(input$dateInput)-7]))/
sum(tableFilter$Time...task..hrs.[tableFilter$WeekEnding == as.Date(input$dateInput)-7]),(sum(tableFilter$Rowing.volume.km.[tableFilter$WeekEnding == as.Date(input$dateInput)]) -
sum(tableFilter$Rowing.volume.km.[tableFilter$WeekEnding == as.Date(input$dateInput)-7]))/
sum(tableFilter$Rowing.volume.km.[tableFilter$WeekEnding == as.Date(input$dateInput)-7])),d=0))
Table$Change[is.nan(Table$Change)] <- NA
Table$Change[is.infinite(Table$Change)] <- NA
Table$Change <- as.character(Table$Change)
Table$Change <- ifelse(Table$Change == "NA",Table$Change)
formattable(Table,align= c("l","c","c"),list(Change =
formatter("span",style =
x ~ style(font.weight = "bold","font-size" = "20px",color = ifelse(x =="0%"| x == "-0%","black",ifelse(x > 0,"green",ifelse(x < 0,"red","black")))),x ~ icontext(ifelse(x ==" " | x =="0%"| x == "-0%","",ifelse(x>0,"arrow-up","arrow-down"," "))),x)),Variable =
formatter("span",style = ~ style(color = "black",font.weight = "bold","font-size" = "20px")),`Last Week` =
formatter("span","font-size" = "20px"))))
})
})
shinyApp(ui = ui,server = server)
和Variable
,我想增加文本的大小。 Last Week
仅增加表格/这些列标题下的文本的字体大小。
有没有办法做到这一点?