我想在Shiny中获取rPivotTable的截图图片。我正在使用来自htmlwidgets的saveWidget()来保存rpivottable。然后我想使用webshot()将html转换为jpeg图像。 从saveWidget生成的html在Firefox中正确显示,但是从webshot生成的图像是空白的。我附上了webshot生成的图像。
以下是我正在使用的示例代码
library(rpivotTable)
library(htmlwidgets)
library(webshot)
mypivot <- rpivotTable(mtcars, rows = "cyl", cols = "mpg")
saveWidget(mypivot, "myPivot.html", selfcontained = FALSE)
webshot(url = "myPivot.html", file = "myPivot.jpeg")
然后我尝试使用How to save Leaflet in RStudio map as png or jpg file?中的一个解决方案 我仍然只是输出空白图像。下面是生成的图像(完全空白)
以下是我正在使用的代码。
library(leaflet)
library(htmlwidgets)
library(webshot)
## create map
m <- leaflet() %>% addTiles()
## save html to png
saveWidget(m, "temp.html", selfcontained = FALSE)
webshot("temp.html", file = "Rplot.png",
cliprect = "viewport")
以下是关于我的R Session的信息。我正在使用RStudio。
R> sessionInfo()
R version 3.2.2 (2015-08-14)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 7 x64 (build 7601) Service Pack 1
locale:
[2] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252 LC_MONETARY=English_United States.1252
[4] LC_NUMERIC=C LC_TIME=English_United States.1252
attached base packages:
[2] stats graphics grDevices utils datasets methods base
other attached packages:
[2] rpivotTable_0.1.5.20 htmlwidgets_0.6 mapview_1.1.0 leaflet_1.0.1 webshot_0.3 htmltools_0.3.5
loaded via a namespace (and not attached):
[2] Rcpp_0.12.5 RColorBrewer_1.1-2 plyr_1.8.4 R.methodsS3_1.7.1 R.utils_2.3.0 viridis_0.3.4 base64enc_0.1-3
[8] iterators_1.0.8 tools_3.2.2 gdalUtils_2.0.1.7 digest_0.6.9 viridisLite_0.1.3 satellite_0.2.0 lattice_0.20-33
[15] jsonlite_0.9.22 gtable_0.2.0 png_0.1-7 foreach_1.4.3 shiny_0.13.2 DBI_0.4-1 yaml_2.1.13
[22] rgdal_1.1-10 parallel_3.2.2 gridExtra_2.2.1 dplyr_0.4.3 httr_1.1.0 raster_2.5-8 stats4_3.2.2
[29] grid_3.2.2 R6_2.1.2 plotly_3.6.0 sp_1.2-3 latticeExtra_0.6-28 tidyr_0.4.1 ggplot2_2.1.0
[36] magrittr_1.5 scales_0.4.0 codetools_0.2-14 assertthat_0.1 mime_0.4 xtable_1.8-2 colorspace_1.2-6
[43] httpuv_1.3.3 munsell_0.4.3 R.oo_1.20.0
答案 0 :(得分:1)
您应该考虑在https://github.com/rstudio/webshot2上尝试使用webshot2,而不要使用webshot。我准备了一篇博客文章,其中包含有关webshot2的各种详细信息。您可以从此处查看详细信息。另外,请参阅我有关webshot和webshot2的问题的详细解答。
我已经用webshot2复制了您的方案。考虑到在webshot2中文件扩展名必须为“ png”或“ pdf”;因此,它也被修改。
代码
library(rpivotTable)
library(htmlwidgets)
library(webshot2)
mypivot <- rpivotTable(mtcars, rows = "cyl", cols = "mpg")
saveWidget(mypivot, "myPivot.html", selfcontained = FALSE)
webshot(url = "myPivot.html", file = "myPivot.png")
答案 1 :(得分:0)
迟来的回应!
以下适用于我:
library(rpivotTable)
library(htmlwidgets)
savedPivot <- "savedPivot.html"
rpivotTable(iris)
saveWidget(rpivotTable(iris),file.path(normalizePath(dirname(savedPivot)),basename(savedPivot)))
(基于@malcook回答SO here)