我有一个R闪亮的产生一个带有一些情节的仪表板。
我实施了一个下载按钮,使用knitr将报告下载为PDF。以下是代码中有问题的部分:
hist_pl <- reactive({
inFile <- input$file
if (is.null(inFile))
return(NULL)
dataf <- getDF()
h <- hist(dataf)
par(new = T)
plot(x = h$mids, y=ec(h$mids)*max(h$counts), col = rgb(0,0,0,alpha=0), axes=F,xlab=NA, ylab=NA)
})
output$hist1 <- renderPlot({
hist_pl()
})
问题如下:
当我评论&#39; renderPlot&#39;代码的一部分,直方图通常出现在PDF报告中(但不在仪表板中)。当我取消注释时,直方图从PDF中消失(并出现在仪表板中)。
下载按钮的代码非常简单:
output$report = downloadHandler(
filename = 'myreport.pdf',
content = function(file) {
out = knit2pdf('input.Rnw', clean = TRUE)
file.rename(out, file) # move pdf to file for downloading
},
contentType = 'application/pdf'
)
和input.Rnw文件:
\documentclass{article}
\begin{document}
<<names>>=
input$Val1
input$Val2
@
<<>>=
#output$mpgPlot ## N.B. This threw an error! Cannot call an object like this from shiny
print(hist_pl())
@
<<>>=
print(hist_pl())
@
\end{document}
有人可以告诉我这可能是什么问题吗?