Сохранение листовок карты в R глянцевый
Я создал приложение, в котором пользователь может изменить карту листовки, и я хотел бы использовать эту карту в отчете в формате PDF. У меня 1. установлены пакеты листовки, webshot и htmlwidget 2. установлены PhantomJS
ниже приведена упрощенная версия кода
server.R:
library(shiny)
library(leaflet)
library(htmlwidgets)
library(webshot)
shinyServer(function(input, output, session) {
output$amap <- renderLeaflet({
leaflet() %>%
addProviderTiles("Stamen.Toner",
options = providerTileOptions(noWrap = TRUE, reuseTiles=TRUE))
})
observe({
leafletProxy("amap") %>%
clearShapes() %>%
addCircles(lng = c(22,-2), lat = c(42,65))
})
observeEvent(input$saveButton,{
themap<- leafletProxy("amap")
saveWidget(themap, file="temp.html", selfcontained = F)
webshot("temp.html", file = "Rplot.png",
cliprect = "viewport")
})
})
ui.R:
fluidPage(
leafletOutput("amap", height="600px", width="600px"),
br(),
actionButton("saveButton", "Save")
)
Я получаю это сообщение об ошибке:
Предупреждение: ошибка в system.file: «пакет» должен иметь длину 1 Трассировка стека (самая внутренняя в первую очередь): 73: system.file 72: readLines 71: вставить 70: yaml.load 69: yaml :: yaml.load_file 68: getDependency 67: widget_dependencies 66: htmltools :: attachDependencies 65: toHTML 64: saveWidget 63: наблюдатьEventHandler [C: \ R файлы \ test / server.R # 24] 1: блестящий :: runApp
когда кнопка сохранения активирована. savewidget отлично работает, когда я определяю кнопку сохранения следующим образом:
observeEvent(input$saveButton,{
themap<-leaflet() %>%
addProviderTiles("Stamen.Toner",
options = providerTileOptions(noWrap = TRUE, reuseTiles=TRUE))
saveWidget(themap, file="temp.html", selfcontained = F)
webshot("temp.html", file = "Rplot.png",
cliprect = "viewport")
})
Но я действительно хочу изменения, которые пользователь вносит в веб-снимок. Кто-нибудь может помочь?