Flexdashboard列布局下表后无标题文本不显示如何解决
问题原因
flexdashboard 会将所有以 ### 开头的三级标题识别为独立的卡片组件,单个卡片内的内容渲染遵循固定规则:
- 代码块之前书写的普通文本,会被识别为卡片前置说明正常渲染
- 代码块之后直接书写的游离普通文本,不会被布局引擎识别为当前卡片的组成部分,会被直接丢弃不渲染
这就是表格下方的第二段说明文本始终无法显示的核心原因。
解决方案
无需新增标题,只需要把表格下方的说明文本和表格输出整合到同一个UI容器中即可,修改后的完整可运行代码如下:
--- title: "Untitled" output: flexdashboard::flex_dashboard: orientation: columns vertical_layout: scroll runtime: shiny --- ```{r setup, include=FALSE} library(flexdashboard) library(dplyr) library(shiny) library(rhandsontable) df <- tibble( `Col 1` = seq(1,24,1), `Col 2` = " ") ``` Column {data-width=650} ----------------------------------------------------------------------- ### Table I can write a note here ```{r} output$table_exer <- renderRHandsontable({ rhandsontable(df, rowHeaders = NULL) }) output$table_container <- renderUI({ tagList( rHandsontableOutput("table_exer"), tags$p("But I also want a note here") ) }) uiOutput("table_container") ``` Column {data-width=350} ----------------------------------------------------------------------- ### Chart B ```{r} ``` ### Chart C ```{r} ```
*实现说明:通过tagList把表格输出和下方说明文本封装为同一个UI组件渲染,第二段文本会作为普通段落显示在表格正下方,和上方说明文本的样式完全一致,不会新增任何多余标题。如果需要调整文本样式,直接在tags$p()内增加样式参数即可。
内容的提问来源于stack exchange,提问作者Jeff
相关产品推荐
相关产品推荐

