Car*_*ter 4 formatting r shiny
我在Shiny中使用renderTable来显示数据集,并且我想对表格进行一些格式化。例如,如果我的代码如下所示:
ui.R:
shinyUI(fluidPage(
titlePanel("Hello Shiny!"),
fluidRow(
column(4,
... ...
)
),
column(8,
tableOutput("mydata")
)
)
))
Run Code Online (Sandbox Code Playgroud)
server.R:
shinyServer(function(input, output) {
df <- data.frame(A=1:10, B=11:20)
output$mydata <- renderTable(df)
})
Run Code Online (Sandbox Code Playgroud)
此示例仅显示一个非常基本的表。如果我想将表格宽度设置为列宽度的100%,而A列占据表格宽度的70%并向左对齐,则B列占据表格宽度的30%并向右对齐,并且列名的背景色设置为蓝色,如何使用renderTable实现呢?非常感谢您的帮助。
顺便说一句,我可以参考关于renderTable格式设置的任何文档吗?
我不明白“将表宽度设置为列宽度的100%”是什么意思,但是使用DT包可能可以实现所需的功能。https://rstudio.github.io/DT/和renderDataTable
例如(不进行对齐):
library(shiny)
library (DT)
df = data.frame(A=1:10, B=11:20)
shinyApp(
ui = fluidPage(DT::dataTableOutput('tbl')),
server = function(input, output) {
output$tbl = DT::renderDataTable(
df, options = list(
lengthChange = FALSE,
initComplete = JS(
"function(settings, json) {",
"$(this.api().table().header()).css({'background-color': '#42f', 'color': '#fff'});",
"}"),
autowidth = TRUE,
columnDefs = list(list(width = '70%', targets = 1))
)
)
}
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11855 次 |
| 最近记录: |