Использование include_graphics в R Markdown не воспроизводит изображение в файле HTML

Я пытаюсь использовать записные книжки R Markdown (файлы .Rmd) в R Studio для записи заметок и упражнений при изучении программирования R. Я обнаружил, что любые графики, созданные с помощью фрагментов кода, правильно реплицируются в соответствующем html-файле, однако я не могу воспроизвести изображения в html.

Пример кода ниже. Изображение представляет собой файл .PNG в пути к рабочему каталогу.

```{r}
library(knitr)
knitr::include_graphics("MyImage.PNG")
```

Это правильно воспроизводит изображение в блокноте R Markdown, но не в html-файле.

Я могу воспроизвести изображение в файле html, напрямую используя синтаксис html -

<img src="MyImage.PNG" alt="MyImage">

Я просмотрел другие вопросы по этой теме, но не смог решить эту проблему ни с одним из предложенных решений. Буду признателен, если кто-то из вас поможет решить эту проблему.

Спасибо!


person Fiddler    schedule 02.12.2018    source источник
comment
Не удается воспроизвести проблему.   -  person Martin Schmelzer    schedule 02.12.2018
comment
Я думаю, что проблема заключается в вашей строке knitr::. Поскольку вы уже загрузили Knitr, проверьте, работает ли только include_graphics(path).   -  person shiv_90    schedule 02.12.2018
comment
@Shiv_90 Shiv_90 Я только что попытался удалить knitr::, и у меня все еще та же проблема.   -  person Fiddler    schedule 02.12.2018
comment
Это может быть связано с тем, что путь к файлу изображения неверен. Когда вы обрабатываете записную книжку, у вас часто будет другой рабочий каталог, чем при создании документа. Попробуйте вывести результат getwd() в обеих ситуациях и посмотрите, совпадают ли они.   -  person user2554330    schedule 02.12.2018
comment
@Shiv_90, префикс knitr:: будет иметь значение только в том случае, если существует несколько версий функции include_graphics, и тогда будет полезно выбрать правильную. Это определенно не будет конфликтовать с library().   -  person user2554330    schedule 02.12.2018
comment
Я думаю, это тоже путь. сначала попробуйте абсолютный путь   -  person TC Zhang    schedule 03.12.2018
comment
У меня была такая же проблема, но она появилась только после добавления runtime: shiny в заголовок YAML. В остальном работает нормально.   -  person Joanne Demmler    schedule 07.12.2018
comment
@Fiddler Вам удалось решить проблему?   -  person shiv_90    schedule 25.12.2018


Ответы (2)


Я думаю, что это может быть ошибка, связанная с добавлением shiny.

Я только что сделал быстрый тест, и он работает для обычного документа:

---
title: "Test"
output: html_document
---

```{r setup, include=FALSE}
library(knitr)
opts_chunk$set(echo = TRUE)
```

```{r, echo=FALSE, out.width="50%"}
include_graphics("../images/RMarkdownOutputFormats.png")
```

введите здесь описание изображения

но когда я добавляю shiny, он больше не работает:

---
title: "Test"
output: html_document
runtime: shiny
---

```{r setup, include=FALSE}
library(knitr)
opts_chunk$set(echo = TRUE)
```

```{r, echo=FALSE, out.width="50%"}
include_graphics("../images/RMarkdownOutputFormats.png")
```

введите здесь описание изображения

person Joanne Demmler    schedule 07.12.2018
comment
на самом деле, даже вариант <img src="MyImage.PNG" alt="MyImage"> не работает с shiny - person Joanne Demmler; 07.12.2018

У меня была та же проблема при использованииshinin_prerendered с учебным пособием для учащихся... Это от Яна Хольца сработало для меня:

library(png)
library(grid)
img <- readPNG("photos/header_stats.png")
grid.raster(img)
person David Siddons    schedule 27.02.2020