DT::datatable 在 Tufte html 输出的主列中
DT::datatable in main column in Tufte html output
我正在尝试使用 Bookdown
和 knitr
包将 DT::datatable
包含在 Tufte html 文档中。但是,即使我使用 columnDefs
选项设置列的宽度,或者 kintr
的宽度
使用 fig.fullwidth = FALSE
或 out.with = '50%'
选项输出时,DT::datatable
仍沿页面、主栏和边距栏的整个宽度显示!正如您在下图中看到的,DT::datatable
在直方图下方,但它应该仅在主列中紧挨着它。
我的问题很简单,您知道如何仅在 Tufte html 书籍的 主栏 中显示 DT::datatable
吗?您可能会看到生成 DT::datatable
的代码片段
非常感谢您的帮助。
{r high-range-cv, echo = FALSE, fig.fullwidth = FALSE}
sketch = htmltools::withTags(table(
class = 'display',
thead(
tr(
th(rowspan = 2, 'Indicator'),
th(colspan = 2, 'Highest Variability'),
th(colspan = 2, 'Lowest Variability')
),
tr(
lapply(rep(c('Country', 'CV'), 2), th),
th("Diff")
)
)
))
diff_ind %>%
select(ind_name, max_cty, max, min_cty, min, diff) %>%
datatable(colnames = c("Indicator", "Country", "Max", "Country", "Min", "Diff"),
container = sketch,
rownames = FALSE,
filter = 'top',
extensions = 'FixedColumns',
options = list(pageLength = 6,
autowidth = TRUE,
columnDefs = list(list(width = '50px', targets = c(2, 4, 5)),
list(width = '100px', targets = c(1, 3)),
list(width = '300px', targets = 0)
),
scrollX = TRUE,
fixedColumns = TRUE)) %>%
formatRound(c("max", "min", "diff") , 2)
正如 https://github.com/rstudio/DT/issues/762 中的回答,使用 DT::datatable()
中的宽度参数可以解决问题:
DT::datatable(iris, width = '55%', options = list(scrollX = TRUE))
我正在尝试使用 Bookdown
和 knitr
包将 DT::datatable
包含在 Tufte html 文档中。但是,即使我使用 columnDefs
选项设置列的宽度,或者 kintr
的宽度
使用 fig.fullwidth = FALSE
或 out.with = '50%'
选项输出时,DT::datatable
仍沿页面、主栏和边距栏的整个宽度显示!正如您在下图中看到的,DT::datatable
在直方图下方,但它应该仅在主列中紧挨着它。
我的问题很简单,您知道如何仅在 Tufte html 书籍的 主栏 中显示 DT::datatable
吗?您可能会看到生成 DT::datatable
非常感谢您的帮助。
{r high-range-cv, echo = FALSE, fig.fullwidth = FALSE}
sketch = htmltools::withTags(table(
class = 'display',
thead(
tr(
th(rowspan = 2, 'Indicator'),
th(colspan = 2, 'Highest Variability'),
th(colspan = 2, 'Lowest Variability')
),
tr(
lapply(rep(c('Country', 'CV'), 2), th),
th("Diff")
)
)
))
diff_ind %>%
select(ind_name, max_cty, max, min_cty, min, diff) %>%
datatable(colnames = c("Indicator", "Country", "Max", "Country", "Min", "Diff"),
container = sketch,
rownames = FALSE,
filter = 'top',
extensions = 'FixedColumns',
options = list(pageLength = 6,
autowidth = TRUE,
columnDefs = list(list(width = '50px', targets = c(2, 4, 5)),
list(width = '100px', targets = c(1, 3)),
list(width = '300px', targets = 0)
),
scrollX = TRUE,
fixedColumns = TRUE)) %>%
formatRound(c("max", "min", "diff") , 2)
正如 https://github.com/rstudio/DT/issues/762 中的回答,使用 DT::datatable()
中的宽度参数可以解决问题:
DT::datatable(iris, width = '55%', options = list(scrollX = TRUE))