我有以下Shiny Application:
library(shiny)
list1 <- c(0.2,0.8,0.5)
list2 <- c("element1", "element2", "element3")
df <- data.frame(list1, list2)
UI <- fluidPage(
formattableOutput("table1")
)
Server <- function(input, output) {
output$table1 <- renderFormattable({
formattable(df, list(
list1 = color_tile("green", "red")
))
})
}
shinyApp(ui = UI, server = Server)
这很好用。但是,我正在寻找一种设置列宽的方法。我可能会在文档中忽略它,但我找不到调整宽度的方法。
有关我应该如何更改它的任何反馈?
答案 0 :(得分:2)
Shiny将它的代码呈现为HTML,因此您可以实际使用CSS来调整您想要更改后期渲染的任何美学。这是一个使用CSS的简单修复。
首先在app目录中创建一个目录www
,然后创建一个名为styles.css
的文件,该文件将作为您的CSS文件。将以下行添加到styles.css
:
table {
width: 400px !important;
}
这会将应用中显示的所有表格的宽度调整为400px,您可以根据需要更改此值。接下来,将includeCSS("www/styles.css")
添加到应用的UI部分,如下所示:
library(shiny)
list1 <- c(0.2,0.8,0.5)
list2 <- c("element1", "element2", "element3")
df <- data.frame(list1, list2)
UI <- fluidPage(
includeCSS("www/styles.css"),
formattableOutput("table1")
)
Server <- function(input, output) {
output$table1 <- renderFormattable({
formattable(df, list(
list1 = color_tile("green", "red")
))
})
}
shinyApp(ui = UI, server = Server)
这将让Shiny知道在渲染页面时我们刚创建的文件中使用CSS。