在R Shiny中动态调整ggplot2图形的大小

voc*_*ict 2 size resize r ggplot2 shiny

我试过这个:

output$plot <- renderPlot({
  getPlot()
}, width=input$plotX, height=input$plotY) # referring to two numericInput boxes
Run Code Online (Sandbox Code Playgroud)

但我得到这个错误:

.getReactiveEnvironment()中的错误$ currentContext():没有活动的响应上下文时不允许操作.(你试图做一些只能在反应式表达式或观察者内部完成的事情.)

帮助文本表明我使用函数,并且在那些函数中我可以引用反应值等.但是做了类似的事情后,我仍然得到相同的错误......

有没有办法允许用户根据他们输入应用程序的值来调整图表的大小?

Xin*_*Yin 6

您可以使用将函数值包装到函数中shiny:::exprToFunction.

例如,

output$plot <- renderPlot({
  getPlot()
}, width=exprToFunction(input$plotX), 
   height=exprToFunction(input$plotY)))
Run Code Online (Sandbox Code Playgroud)

应该做的伎俩.