# Register used google fonts
library(gdtools)
register_gfont("Permanent Marker")
#> [1] TRUE
register_gfont("Open Sans")
#> [1] TRUE
set_flextable_defaults(
font.family = "Open Sans",
theme_fun = theme_vanilla,
digits = 2, big.mark = "",
scroll = list(),
font.color = "#333333", na_str = ""
)
library(palmerpenguins)
ft <- as_flextable(penguins)
ft
species | island | bill_length_mm | bill_depth_mm | flipper_length_mm | body_mass_g | sex | year |
---|---|---|---|---|---|---|---|
factor | factor | numeric | numeric | integer | integer | factor | integer |
Adelie | Torgersen | 39.10 | 18.70 | 181 | 3750 | male | 2007 |
Adelie | Torgersen | 39.50 | 17.40 | 186 | 3800 | female | 2007 |
Adelie | Torgersen | 40.30 | 18.00 | 195 | 3250 | female | 2007 |
Adelie | Torgersen | 2007 | |||||
Adelie | Torgersen | 36.70 | 19.30 | 193 | 3450 | female | 2007 |
Adelie | Torgersen | 39.30 | 20.60 | 190 | 3650 | male | 2007 |
Adelie | Torgersen | 38.90 | 17.80 | 181 | 3625 | female | 2007 |
Adelie | Torgersen | 39.20 | 19.60 | 195 | 4675 | male | 2007 |
Adelie | Torgersen | 34.10 | 18.10 | 193 | 3475 | 2007 | |
Adelie | Torgersen | 42.00 | 20.20 | 190 | 4250 | 2007 | |
n: 344 |
The only element of flextable to use is the gen_grob()
function, the
others codes are only using ‘grid’ functions (and magick::image_read()
).
library(grid)
grid.raster(magick::image_read("lter_penguins.png"))
grid.rect(gp = gpar(col = "transparent", fill = radialGradient(
colours = c(
adjustcolor("white", .6),
adjustcolor("#f2af00", .8),
adjustcolor("#c32900", .7)
),
stops = c(0, .7, 1)
)))
grid.text(y = .1, x = .95, just = "right",
label = "Size measurements for adult foraging penguins near Palmer Station, Antarctica",
gp = gpar(col = "white", fontsize = 10, fontfamily = "Open Sans", fontface = "italic"))
grid.text(y = .9,
label = "Made with packages 'grid', 'flextable', 'ragg' and 'palmerpenguins'",
gp = gpar(col = "white", fontsize = 14, fontfamily = "Permanent Marker"))
pushViewport(viewport(width = .95, height = .75, gp = gpar(col = "transparent")))
grid.circle(gp = gpar(fill = adjustcolor("white", .9)), r = .4)
grid.draw(gen_grob(ft, just = "center", scaling = "min", fit = "width"))
popViewport()