2

こんにちは、読んでくれてありがとう

rの「反応可能な」パッケージを使用していくつかのテーブルに取り組んでいますが、各列の見出しのみを中央に配置したいと思います。例えば:

library(reactable)
reactable(iris,
          defaultColDef = colDef(
            header = function(value) gsub(".", " ", value, fixed = TRUE),
            cell = function(value) format(value, nsmall = 1),
            align = "center",
            minWidth = 70,
            headerStyle = list(background = "#12a09a")
          ))

どうやらオプションcolDef(align = "center")は列全体を中央に配置するようですが、タイトルのみを中央に配置するオプションはありますか?

4

1 に答える 1

0

R マークダウン ドキュメントまたは光沢のあるアプリでこのテーブルを使用していると仮定します。css両方で、表のテキストを左揃えにするか、デフォルトの表にしてタイトルを中央に配置するために、をオーバーライドできます。

最初のケースでは、この行を追加するだけです.rt-align-center{text-align: left;}

光沢のある場合は、それをカスタムに追加するcssか、スタイル タグを使用して以下の例のようにインラインで追加するだけです。

library(shiny)
library(reactable)


ui <- fluidPage(
    # inline style tag to define table row text alignment
    tags$style(HTML(".rt-align-center {text-align: left;}")),

    titlePanel("Iris react table"),

    sidebarLayout(
        sidebarPanel(
           helpText("Nothing to see here")
        ),
        mainPanel(
            reactableOutput("table")
        )

    )
)

server <- function(input, output) {

    output$table <- renderReactable({
    
        reactable(iris,
                  defaultColDef = colDef(
                      header = function(value) gsub(".", " ", value, fixed = TRUE),
                      cell = function(value) format(value, nsmall = 1),
                      align = "center",
                      minWidth = 70,
                      headerStyle = list(background = "#12a09a")
                  ))
    })
}

shinyApp(ui = ui, server = server)

Rmarkdown ドキュメントで作業している場合は、次のように style タグの html に追加するだけです。

<style> .rt-align-center {text-align: left;} </style>

そして結果:

ご希望のテーブル

于 2021-09-19T20:34:41.837 に答える