как сохранить flextable как png в R - PullRequest
0 голосов
/ 08 мая 2018

Я уже следовал рекомендации ссылки: R сохранить FlexTable в виде html-файла в скрипте , но, похоже, я столкнулся с другой проблемой, потому что это решение не сработало для меня. Функция vanilla.table () создает объект, отличный от функции flextable ().

Я использую flextable, потому что он допускает желаемые возможности форматирования

Пример:

library(flextable)
library(rtable)

# The example below work.
myft <- vanilla.table(
   head(mtcars) )
myft
writeLines(as.html(myft), "MyFlexTable.html")

# The example below does not work.
myft <- regulartable(
  head(mtcars), 
  col_keys = c("am", "carb", "gear", "mpg", "drat" ))
myft
writeLines(as.html(myft), "MyFlexTable.html")

ps: я знаю, что можно загрузить фотографию вручную, нажав «Экспорт> Сохранить как изображение», однако мне нужно ее запрограммировать

спасибо заранее!

1 Ответ

0 голосов
/ 16 мая 2018

Чтобы сохранить гибкую таблицу в виде png, сначала необходимо сохранить ее как html-файл, а затем использовать webshot для получения png из html-файла.

library(flextable)
myft <- regulartable(
  head(mtcars), 
  col_keys = c("am", "carb", "gear", "mpg", "drat" ))

# create an Rmd file ----
library(rmarkdown)
rmd_name <- tempfile(fileext = ".Rmd")
cat("```{r echo=FALSE}\nmyft\n```", file = rmd_name)

# render as an html file ----
html_name <- tempfile(fileext = ".html")
render(rmd_name, output_format = "html_document", output_file = html_name )

# get a png from the html file with webshot ----
library(webshot)
webshot(html_name, zoom = 2, file = "regulartable.png", 
        selector = "body > div.container-fluid.main-container > div.tabwid > table")

enter image description here

...