下面是一个小的ioslides演示文稿,其中一个幻灯片中嵌入了闪亮的应用程序。另一张幻灯片试图显示png图像文件。 当我在RStudio中“运行演示文稿”时,png图像无法渲染,我收到警告:
file.create中的警告([okay]): 无法创建文件'C:\ Users \ John \ AppData \ Local \ Temp \ Rtmpkty0sF \ file3b247a612422_files / C:/Develop/data/smile.png',原因'无效参数'
如果我删除闪亮的代码,并从YAML中删除“runtime:shiny”,则png图像会正确呈现,而不会显示警告。在这种情况下,RStudio显示一个“编织”演示文稿的按钮,而不是“闪亮的应用程序的运行演示文稿”。
此处报道了类似的问题:
在这里:
Error adding images in ioslides
这是我的设置: Windows 9, RStudio版本0.99.473, 套餐:rmarkdown版本:0.7.3, 包装:闪亮版:0.12.2.9001, 包:httpuv版本:1.3.3,
这是我的RMarkdown代码:
---
title: "ioslides Presentation with Shiny"
author: "John Doe"
date: "August 27, 2015"
output:
ioslides_presentation:
widescreen: true
smaller: true
transition: 0.1
self_contained: true
runtime: shiny
---
## Slide with Embedded Inline Shiny Application
Below is an embedded inline shiny application:
```{r, echo=FALSE}
inputPanel(
selectInput("n_breaks", label = "Number of bins:",
choices = c(10, 20, 35, 50), selected = 20),
sliderInput("bw_adjust", label = "Bandwidth adjustment:",
min = 0.2, max = 2, value = 1, step = 0.2)
)
renderPlot({
hist(faithful$eruptions, probability = TRUE, breaks = as.numeric(input$n_breaks),
xlab = "Duration (minutes)", main = "Geyser eruption duration")
dens <- density(faithful$eruptions, adjust = input$bw_adjust)
lines(dens, col = "blue")
})
```
## Slide With a Smiling Face
![smiling_face](C:/Develop/data/smile.png)
答案 0 :(得分:2)
JJ Allaire(RStudio首席执行官!)在这里为GitHub提供了答案:
jjallaire answers
我将总结一下,如果ioslides演示文稿包含嵌入式闪亮应用程序,则它要求图像文件存储在与.Rmd文件相同的目录中,或者存储在子目录中,而不是存储在单独的目录分支中。应使用相对文件路径而不是绝对路径来引用图像文件。这是因为当ioslides演示文稿被编织(解析)时,它们被存储为包含.js和其他文件的目录,并且所有图像都必须复制到该目录中。硬编码绝对文件路径可防止RStudio knitr复制图像文件。
我将图像文件复制到“image”子目录,并将我的rmarkdown代码更改为此,现在可以正常工作:
![smiling_face](image/smile_small.png)