Блестящий downloadHandler не сохраняет файлы PNG
У меня есть функция загрузки, которая делает все правильно, когда появляется экран сохранения как, появляется указанное мной имя файла. Когда я нажимаю на кнопку "Сохранить", окно закрывается, но файл не сохраняется.
Тот же график отлично работает в приложении, единственная проблема в том, что я не могу сохранить его в файл PNG.
Я запускаю приложение shine на своем ноутбуке и использую RStudio.
Вот некоторые выдержки из моего кода.
ui.R
downloadButton('downloadSMemPlot', 'Download Graph')
server.R
'#draw membersip plot
s.MemPlotInput <- reactive({
'#some code to get data
s.MemPlot <- ggplot() +
geom_density(aes(x=Age, fill = Years), data=s.ben, alpha = 0.5) +
ggtitle("Density of beneficiary ages") +
theme_igray() +
theme(plot.title = element_text(lineheight=.8, face="bold")) +
xlab("Age in full years") + ylab("Density")+
scale_fill_hue()
})
output$s.memplot <- renderPlot({
print(s.MemPlotInput())
})
'#download membership plot
output$downloadSMemPlot <- downloadHandler(
filename = "MembershipPlot.png",
content = function(file) {
png(file, type='cairo')
print(s.MemPlotInput())
dev.off()
},
contentType = 'application/png'
)
1 ответ
Ты хочешь
contentType = 'image/png'
не
contentType = 'application/png'
Хотя я не думаю, что это проблема. Вы запускаете его на панели предварительного просмотра RStudio или во внешнем браузере? У меня была та же проблема с загрузкой при использовании панели предварительного просмотра, но она отлично работала в моем браузере.