Пожалуйста, обратите внимание на следующее:использованием downloadHandler и renderPlot на статической функции одновременно
# createPlot takes in data, processes it and generates a plot using native plot()
plotInput <- function(){
createPlot(data=data(),name=input$name)
}
# I render it using
output$plot <- renderPlot({
plotInput()
}, height=700,width=850,res=100)
# and I download the pdf using
output$pdflink <- downloadHandler(
filename <- "plot.pdf",
content <- function(file){
pdf("plot.pdf")
print(plotInput())
dev.off()
file.copy("plot.pdf", file)
}
)
createPlot
функция имеет randomising
фактор, который заполняет пустые значения с небольшой случайной pseudocount. Таким образом, всякий раз, когда эта функция запускается, точки на графике не совсем одинаковы, поэтому загруженный сюжет немного отличается от того, что я вижу на интерфейсе. Что я могу сделать, чтобы решить эту проблему?
Я попытался сохранить вывод plotInput()
статической переменной и повторно использовать эту переменную как для рендеринга, так и для экспорта, но это не работает.
mainPlot <- plotInput()
Спасибо за ваш ответ. 'plotInput' раньше я имел как реактивную функцию, но проблема была во время загрузки, никакой сюжет не создавался, и это все еще так. Итак, если я преобразую 'plotInput' в реактивную функцию,' downloadHandler' возвращает файл, но его пуст. Участок не генерируется. –