Knitr (R) - как не вставлять изображения в файл HTML?
Это, вероятно, очень просто, но я не могу найти его в документах. Я хотел бы не встраивать сгенерированные изображения в сам файл HTML.
Итак, в основном я хочу, чтобы knit2html() создавал HTML файл с отдельными файлами изображений (которые затем связаны с/показаны в HTML). Основное поведение заключается в том, что script вставляет изображения в качестве строки base64. Проблема в том, что в IE большие изображения не будут отображаться (т.е. Кажется, отсутствуют). Любая идея, как я могу отделить изображения от вывода HTML?
Мой пример. Rmd file ('knit.Rmd'):
```{r}
plot(3)
```
И мой .R файл, чтобы сгенерировать HTML из этого:
library(knitr)
knit2html('knit.Rmd')
В этом примере создается HTML с графиком в виде встроенной строки base64.
Ответы
Ответ 1
Если вы посмотрите справочную страницу knit2html
, вы увидите, что:
This is a convenience function to knit the input markdown source and
call ‘markdownToHTML()’ in the ‘markdown’ package to convert the
result to HTML.
Затем вы просматриваете страницу справки markdownToHTML
и читаете, что существует следующий аргумент:
options: options that are passed to the renderer. see
‘markdownHTMLOptions’.
Итак, вы смотрите на markdownHTMLOptions
(еще не потерянный?) и видите следующий параметр:
‘'base64_images'’ Any local images linked with the ‘'<img>'’ tag
to the output HTML will automatically be converted to base64
and included along with output.
С помощью следующей команды вы должны увидеть параметры по умолчанию в вашей системе:
R> markdownHTMLOptions(default=TRUE)
[1] "use_xhtml" "smartypants" "base64_images" "mathjax"
[5] "highlight_code"
Может быть, вы можете попытаться связать файл сметки с помощью:
knit2html("knit.Rmd", options=c("use_xhtml","smartypants","mathjax","highlight_code"))
Не тестировалось, хотя...
Ответ 2
Его не knitr
, который делает это, knitr
просто создает измененный файл уценки после запуска фрагментов R
. Поэтому вам нужно посмотреть на помощь для пакета markdown
, чтобы выяснить...
Его параметр base64_images
. Кофе еще не ударил, поэтому я не совсем понял, как установить /reset индивидуальные параметры разметки, но очистка их всех работает для меня:
> knit2html("foo.Rmd",options="")
производство
<p><img src="figure/unnamed-chunk-1.png" alt="plot of chunk unnamed-chunk-1"> </p>
в foo.html
.
Если очистка всех этих параметров ломает другие вещи, тогда прочитайте на markdownHTMLOptions
.
Ответ 3
Вы можете просто добавить self_contained: no
к параметрам вывода в заголовке .Rmd. Например:
---
title: "Data visualisation with ggplot"
output:
html_document:
self_contained: no
toc: yes
toc_float: yes
---
Ответ 4
Вот простой способ иметь цифры в отдельном html файле, что значительно уменьшит его размер.
Добавьте этот фрагмент в начало файла *.rmd:
```{r global_options, include=FALSE}
#suppress the warnings and other messages from showing in the knitted file.
knitr::opts_chunk$set(fig.width=8, fig.height=6, fig.path='Figs/',
echo=TRUE, warning=FALSE, message=FALSE)
```
Опция 'fig.path' сообщает R, чтобы сохранить изображения в папке 'Figs'. Остальные параметры не требуются для задачи.
Нажмите эту кнопку:
![Нажмите эту кнопку]()
Убедитесь, что флажок не установлен:
![Убедитесь, что флажок не установлен]()