Уменьшите размер шрифта в renderDataTable в блестящей презентации

Я использую блестящую презентацию для отображения двух таблиц. Вот мой код:

tabsetPanel(
  tabPanel('iris',
           renderDataTable(iris,options = 
list(lengthMenu = c(5, 10), pageLength = 5, scrollX = TRUE), escape = 
FALSE)), 
  tabPanel('mtcars',
           renderDataTable(mtcars, options = list(lengthMenu 
= c(5, 10), pageLength = 5, scrollX = TRUE), escape = FALSE))
)

Я хотел бы уменьшить размер таблиц. Я попытался добавить div следующим образом:

div(renderDataTable(mtcars, options = list(lengthMenu 
= c(5, 10), pageLength = 5, scrollX = TRUE), escape = FALSE), style = "font-
size:50% ")

Но это не работает.

Я также пытался сделать это:

mainPanel( 
  tabsetPanel(id='BLMS', 
              tabPanel("iris", fluidRow(div(dataTableOutput(outputId="iris"),  
style = "font-size:50%"))), 
              tabPanel("mtcars", 
fluidRow(div(dataTableOutput(outputId="mtcars"),  style = "font-size:50%")))
              )
  )  

output$iris<- renderDataTable({iris}, options = list(lengthMenu = c(5, 10), 
pageLength = 5, scrollX = TRUE))

output$mtcars<- renderDataTable({mtcars},options = list(lengthMenu = c(5, 
10), pageLength = 5, scrollX = TRUE))

Но в презентации отображается таблица, разрезанная пополам.


person Maggie    schedule 09.06.2017    source источник
comment
font-size только уменьшит размер шрифта. Вы пробовали width?   -  person Roman Luštrik    schedule 09.06.2017
comment
Да, он не отображает ничего должным образом.   -  person Maggie    schedule 09.06.2017


Ответы (1)


Если вы хотите уменьшить размер таблицы, поместите ее в столбец с width ‹ 12. Если вы, кроме того, хотите уменьшить размер шрифта, вам пригодится Shinyjs::inlineCSS:

library(DT)
library(shinyjs)
shinyApp(shinyUI(
  fluidPage(column(width=6, dataTableOutput("iris")),
        useShinyjs(),
        inlineCSS(list("table" = "font-size: 8px")))
  ),

  shinyServer(function(input, output) {
    output$iris = renderDataTable({
        datatable(iris,options =
                    list(lengthMenu = c(5, 10), pageLength = 5, scrollX = TRUE), escape =
                    FALSE)
    })
  })
)

введите описание изображения здесь

редактировать: как было указано, добавление команды style в ваш div, содержащий таблицу, работает еще лучше: fluidPage(style = "font-size: 75%; width: 75%", dataTableOutput("iris")))

person shosaco    schedule 10.06.2017