当我以交互方式运行以下代码时,将生成预期的testFig.html并正确运行。
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的旧版本和正在使用的包,并得到了相同的行为。结果,我完全不知所措。
---
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)
**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(
name = "data", DF, x = ~x, y = ~y, z = ~z,marker = list(size = 2.0)) %>%add_markers()saveWidget(partial_bundle(图),"testFig.html",knitrOptions =list(partial_bundle= "show"))
include_url("testFig.html")
}
```javascriptsessionInfo()
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
发布于 2022-04-11 17:06:41
正如对该问题的评论中所指出的,问题的解决方案是将生成的文件放在一个文件夹中,放在vignette目录中。这可以保护必要的文件在使用buildVignette时不会被删除。但是,这种方法在构建和检查包时不起作用。我将就此单独提出一个问题。
https://stackoverflow.com/questions/71788938
复制相似问题