【问题标题】:Embeded Plots Missing when Knitting to PDF编织到 PDF 时缺少嵌入图
【发布时间】:2018-08-23 07:31:28
【问题描述】:

我知道有人以不同的格式提出过这个问题,但是在搜索时我找不到与我类似的解决方案或问题。 使用 Mac 和 RStudio(版本 1.0.153)R(版本 3.4.3 (2017-11-30) -- "Kite-Eating Tree")

我只是想在 R markdown 中编织一个 PDF(使用 knitr 编织),但是当我这样做时,这些图就丢失了。当我编织成 HTML 时,情节就在那里。我正在使用有助于创建绘图的 earlywarnings 包。请参阅下面使用 R 降价的示例:

```{r, earlywarnings, fig.keep='all'}
library(earlywarnings)
data("foldbif")
x = foldbif
plot.ts(x)
```

该图显示在 pdf 输出中,但在我创建其他类似的图时却没有:

```{r, echo=FALSE,results='hide',fig.keep='all', fig=TRUE}
out<-generic_ews(x,winsize=50,detrending="gaussian",
bandwidth=5,logtransform=FALSE,interpolate=FALSE)
```

或者这个:

```{r, echo=FALSE, results='hide', fig.keep='all', fig=TRUE, warning=FALSE}
qda = qda_ews(x, param = NULL, winsize = 50, detrending = "gaussian",
bandwidth = NULL, boots = 100,s_level = 0.05, cutoff = 0.05,
detection.threshold = 0.002, grid.size = 50, logtransform = FALSE, interpolate = FALSE)
```

最后一个函数也只显示 3 个绘图中的 2 个,但我会在另一次解决这个问题。

任何帮助将不胜感激。如果不清楚,请告诉我。

【问题讨论】:

  • 我相信这是因为您将绘图分配给一个变量,而不是仅仅调用它。尝试从第二个块中删除 out &lt;-
  • 是的,我之前已经搞砸了,它只是改变了我不需要的数据帧数据的存在/不存在。
  • 问题可能是开发人员在他们的函数中使用了dev.new()

标签: r pdf rstudio knitr r-markdown


【解决方案1】:

我可以确认该问题与dev.new() 的使用有关。我复制粘贴了函数的代码,将其删除(函数的第 136 行)并且它起作用了,即我在我的 pdf 中得到了这个数字。可能有一种方法可以调用函数来避免我不知道的dev.new() 的影响。

【讨论】:

  • 哦,有道理!您是使用trace() 删除它还是在编辑后将其导入?
  • 我使用不带括号的generic_ews 来查看代码,然后我使用capture.output(generic_ews) 复制/粘贴函数的代码并在我提供的单独文件中自己编辑它( source()) 之后。希望这会有所帮助!
猜你喜欢
  • 2021-02-21
  • 2014-08-10
  • 1970-01-01
  • 2023-04-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多