library("tinytable")
# Bar plots with single and dual colors
dat <- data.frame(
Metric = c("Sales", "Conversion", "Growth", "Efficiency"),
Value = c(75, 45, 92, 38),
Percentage = c(0.75, 0.45, 0.92, 0.38)
)
tt(dat) |>
plot_tt(j = 2, fun = "bar", data = as.list(dat$Value), color = "darkorange") |>
plot_tt(j = 3, fun = "bar", data = as.list(dat$Percentage),
color = c("steelblue", "lightgrey"), xlim = c(0, 1))
# Built-in plot types
plot_data <- list(mtcars$mpg, mtcars$hp, mtcars$qsec)
dat <- data.frame(
Variables = c("mpg", "hp", "qsec"),
Histogram = "",
Density = "",
Line = ""
)
# Random data for sparklines
lines <- lapply(1:3, \(x) data.frame(x = 1:10, y = rnorm(10)))
tt(dat) |>
plot_tt(j = 2, fun = "histogram", data = plot_data) |>
plot_tt(j = 3, fun = "density", data = plot_data, color = "darkgreen") |>
plot_tt(j = 4, fun = "line", data = lines, color = "blue") |>
style_tt(j = 2:4, align = "c")
# Custom function example (must have ... argument)
custom_hist <- function(d, ...) {
function() hist(d, axes = FALSE, ann = FALSE, col = "lightblue")
}
tt(data.frame(Variables = "mpg", Histogram = "")) |>
plot_tt(j = 2, fun = custom_hist, data = list(mtcars$mpg))Insert images and inline plots into tinytable objects
Description
The plot_tt() function allows for the insertion of images and inline plots into tinytable objects. This function can handle both local and web-based images.
Usage
plot_tt(
x,
i = NULL,
j = NULL,
fun = NULL,
data = NULL,
color = "black",
xlim = NULL,
height = 1,
height_plot = 400,
width_plot = 1200,
images = NULL,
sprintf = "%s",
assets = "tinytable_assets",
...
)
tt_plot(
x,
i = NULL,
j = NULL,
fun = NULL,
data = NULL,
color = "black",
xlim = NULL,
height = 1,
height_plot = 400,
width_plot = 1200,
images = NULL,
sprintf = "%s",
assets = "tinytable_assets",
...
)
Arguments
x
|
A tinytable object. |
i
|
Integer vector, the row indices where images are to be inserted. If NULL, images will be inserted in all rows.
|
j
|
Integer vector, the column indices where images are to be inserted. If NULL, images will be inserted in all columns.
|
fun
|
String or function to generate inline plots.
|
data
|
a list of data frames or vectors to be used by the plotting functions in fun.
|
color
|
string Name of color to use for inline plots (passed to the col argument base graphics plots in R). For bar plots in static output formats (PNG, PDF, etc.), can be a vector of length 2: c(bar_color, background_color) to show progress against a maximum. Note: Tabulator format only uses the first color.
|
xlim
|
Numeric vector of length 2. Controls the range of bar plots. |
height
|
Numeric, the height of the images in the table in em units. |
height_plot
|
Numeric, the height of generated plot images in pixels (default: 400). |
width_plot
|
Numeric, the width of generated plot images in pixels (default: 1200). |
images
|
Character vector, the paths to the images to be inserted. Paths are relative to the main table file or Quarto (Rmarkdown) document. |
sprintf
|
Character string, a sprintf format string to format the generated cell content. Default is "%s" which displays the content as-is. Use this to wrap images or plots in custom markup. |
assets
|
Path to the directory where generated assets are stored. This path is relative to the location where a table is saved. |
…
|
Extra arguments are passed to the function in fun. Important: Custom plotting functions must always have … as an argument.
|
Details
The plot_tt() can insert images and inline plots into tables.
Value
A modified tinytable object with images or plots inserted.