opt_interactive | R Documentation |
By default, a gt table rendered as HTML will essentially be a 'static'
table. However, we can make it 'interactive' and configure those interactive
HTML options through the opt_interactive()
function. Making an HTML table
interactive entails the enabling of controls for pagination, global search,
filtering, sorting, and more.
This function serves as a shortcut for setting the following options in
tab_options()
:
ihtml.active
ihtml.use_pagination
ihtml.use_pagination_info
ihtml.use_sorting
ihtml.use_search
ihtml.use_filters
ihtml.use_resizers
ihtml.use_highlight
ihtml.use_compact_mode
ihtml.use_page_size_select
ihtml.page_size_default
ihtml.page_size_values
ihtml.pagination_type
ihtml.height
ihtml.selection_mode
opt_interactive(
data,
active = TRUE,
use_pagination = TRUE,
use_pagination_info = TRUE,
use_sorting = TRUE,
use_search = FALSE,
use_filters = FALSE,
use_resizers = FALSE,
use_highlight = FALSE,
use_compact_mode = FALSE,
use_text_wrapping = TRUE,
use_page_size_select = FALSE,
page_size_default = 10,
page_size_values = c(10, 25, 50, 100),
pagination_type = c("numbers", "jump", "simple"),
height = "auto",
selection_mode = NULL
)
data |
The gt table data object
This is the gt table object that is commonly created through use of the
|
active |
Display interactive HTML table
The |
use_pagination |
Display pagination controls
This is the option for using pagination controls (below the table body). By
default, this is |
use_pagination_info |
Display pagination info
If |
use_sorting |
Provide column sorting controls
This option provides controls for sorting column values. By default, this
is |
use_search |
Provide a global search field
The |
use_filters |
Display filtering fields
The |
use_resizers |
Allow column resizing
This option allows for the interactive resizing of columns. By default,
this is |
use_highlight |
Enable row highlighting on hover
The |
use_compact_mode |
Use compact mode
To reduce vertical padding and thus make the table consume less vertical
space the |
use_text_wrapping |
Use text wrapping
The |
use_page_size_select |
Allow for page size selection
The |
page_size_default |
Change the default page size
The default page size (initially set as |
page_size_values |
Set of page-size values
By default, this is the vector |
pagination_type |
Change pagination mode
When using pagination the |
height |
Height of interactive HTML table Height of the table in pixels. Defaults to |
selection_mode |
Allow row selection
The |
An object of class gt_tbl
.
Use select columns from the towny
dataset to create a gt table with a
header (through tab_header()
) and a source note (through
tab_source_note()
). Next, we will add interactive HTML features (and
otherwise activate interactive HTML mode) through opt_interactive()
. It'll
just be the default set of interactive options.
towny |> dplyr::select(name, census_div, starts_with("population")) |> gt() |> fmt_integer() |> cols_label_with(fn = function(x) sub("population_", "", x)) |> cols_width( name ~ px(200), census_div ~ px(200) ) |> tab_header( title = "Populations of Municipalities", subtitle = "Census values from 1996 to 2021." ) |> tab_source_note(source_note = md("Data taken from the `towny` dataset.")) |> opt_interactive()
Interactive tables can have styled body cells. Here, we use the gtcars
dataset to create an interactive gt table. Using tab_style()
and
data_color()
we can flexibly style body cells throughout the table.
gtcars |> gt() |> cols_width(everything() ~ px(130)) |> tab_style( style = cell_fill(color = "gray95"), locations = cells_body(columns = c(mfr, model)) ) |> data_color( columns = c(starts_with("hp"), starts_with("trq")), method = "numeric", palette = "viridis" ) |> cols_hide(columns = trim) |> opt_interactive()
10-2
v0.9.0
(Mar 31, 2023)
Other table option functions:
opt_align_table_header()
,
opt_all_caps()
,
opt_css()
,
opt_footnote_marks()
,
opt_footnote_spec()
,
opt_horizontal_padding()
,
opt_row_striping()
,
opt_stylize()
,
opt_table_font()
,
opt_table_lines()
,
opt_table_outline()
,
opt_vertical_padding()
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.