首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >saveWidget交互工作,但在使用buildVignette时没有保存任何文件。

saveWidget交互工作,但在使用buildVignette时没有保存任何文件。
EN

Stack Overflow用户
提问于 2022-04-07 21:08:20
回答 1查看 122关注 0票数 2

当我以交互方式运行以下代码时,将生成预期的testFig.html并正确运行。

代码语言:javascript
复制
suppressPackageStartupMessages(library("plotly"))
suppressPackageStartupMessages(library("htmlwidgets"))

  DF <- data.frame(
  x <- rnorm(50),
  y <- rnorm(50),
  z <- rnorm(50))

  fig <- plot_ly(
    name = "data", DF, x = ~x, y = ~y, z = ~z,
    marker = list(size = 2.0)) %>% add_markers()
  saveWidget(partial_bundle(fig), "testFig.html", knitrOptions = list(results = "show"))

但是,如果将上面的代码放置在一个小片段中,并且使用了buildVignette,则不会产生testFig.html,因此在vignette中有一个占位符,表示文件找不到。没有发出错误或警告。下面是小编代码。将其保存为Vignette.Rmd,然后执行buildVignette("Vignette.Rmd")查看结果。

这是一个很小的例子,一个更大的项目,工作良好,大约5周前,但最近已经开始采取行动,如上文所述。我检查了R的旧版本和正在使用的包,并得到了相同的行为。结果,我完全不知所措。

代码语言:javascript
复制
---
title:  "Test Vignette"
date:  "`r Sys.Date()`"
output:
    bookdown::html_document2:
      toc: yes
      toc_depth: 2
      fig_caption: yes
      number_sections: false
vignette: >
    %\VignetteIndexEntry{Vignette}
    %\VignetteEngine{knitr::rmarkdown}
    %\VignetteEncoding{UTF-8}
pkgdown:
  as_is: true
---

```{r SetUp, echo = FALSE, eval = TRUE, results = "hide"}

R选项和配置:

set.seed(13)

suppressPackageStartupMessages(library("knitr"))

suppressPackageStartupMessages(library("plotly"))

suppressPackageStartupMessages(library("htmlwidgets"))

专门用于针织品的:

opts_chunk$set(eval = TRUE,echo = FALSE)

代码语言:javascript
复制
**Test Vignette**

Trying to troubleshoot a problem with interactive diagrams not being included.

```{r testFig, results = "show"}

if (!is_latex_output()) {

DF <- data.frame(

X <- rnorm(50),

Y <- rnorm(50),

Z <- rnorm(50))

图<- plot_ly(

代码语言:javascript
复制
name = "data", DF, x = ~x, y = ~y, z = ~z,
代码语言:javascript
复制
marker = list(size = 2.0)) %>%
代码语言:javascript
复制
add_markers()

saveWidget(partial_bundle(图),"testFig.html",knitrOptions =list(partial_bundle= "show"))

include_url("testFig.html")

}

代码语言:javascript
复制
```javascript

sessionInfo()

R版本4.2.0 alpha (2022-04-05 r82100)

平台: x86_64-apple-darwin17.0 (64位)

运行于: macOS蒙特雷12.3.1

矩阵产品:默认

BLAS: /Library/Frameworks/R.framework/Versions/4.2/Resources/lib/libRblas.0.dylib

LAPACK: /Library/Frameworks/R.framework/Versions/4.2/Resources/lib/libRlapack.dylib

现场:

1个en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

随附的基本包件:

1个stats图形grDevices实用数据集方法库

其他附随的包裹:

1 htmlwidgets_1.5.4 plotly_4.10.0 ggplot2_3.3.5 knitr_1.38

通过命名空间加载(而不是附加的):

1 magrittr_2.0.3 tidyselect_1.1.2 munsell_0.5.0 viridisLite_0.4.0彩色空间_2.0-3

6 R6_2.5.1 rlang_1.0.2 fastmap_1.1.0 fansi_1.0.3 httr_1.4.2

11 dplyr_1.0.8 tools_4.2.0 grid_4.2.0 data.table_1.14.2 gtable_0.3.0

16 xfun_0.30 utf8_1.2.2 cli_3.2.0 withr_2.5.0 htmltools_0.5.2

21 ellipsis_0.3.2 lazyeval_0.2.2 digest_0.6.29 tibble_3.1.6 lifecycle_1.0.1

26 crayon_1.5.1 tidyr_1.2.0 purrr_0.3.4 vctrs_0.4.0 glue_1.6.2

31 compiler_4.2.0 pillar_1.7.0 generics_0.1.2 scales_1.1.1 jsonlite_1.8.0

36 pkgconfig_2.0.3

代码语言:javascript
复制
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-11 17:06:41

正如对该问题的评论中所指出的,问题的解决方案是将生成的文件放在一个文件夹中,放在vignette目录中。这可以保护必要的文件在使用buildVignette时不会被删除。但是,这种方法在构建和检查包时不起作用。我将就此单独提出一个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71788938

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档