ioslides演示文稿不呈现png图像文件

时间:2015-08-29 23:09:45

标签: r shiny rstudio r-markdown pandoc

下面是一个小的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显示一个“编织”演示文稿的按钮,而不是“闪亮的应用程序的运行演示文稿”。

此处报道了类似的问题:

ioslides css and logo

在这里:

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)

1 个答案:

答案 0 :(得分:2)

JJ Allaire(RStudio首席执行官!)在这里为GitHub提供了答案:
jjallaire answers

我将总结一下,如果ioslides演示文稿包含嵌入式闪亮应用程序,则它要求图像文件存储在与.Rmd文件相同的目录中,或者存储在子目录中,而不是存储在单独的目录分支中。应使用相对文件路径而不是绝对路径来引用图像文件。这是因为当ioslides演示文稿被编织(解析)时,它们被存储为包含.js和其他文件的目录,并且所有图像都必须复制到该目录中。硬编码绝对文件路径可防止RStudio knitr复制图像文件。

我将图像文件复制到“image”子目录,并将我的rmarkdown代码更改为此,现在可以正常工作:

![smiling_face](image/smile_small.png)