使用Shiny Rmarkdown中的操作按钮进行绘图

Nic*_*ick 3 r shiny

我很好奇以下原因为何不起作用。尝试使用对动作按钮的反应进行绘图时,它无法在Shiny中显示绘图。

知道我在做什么错吗?我尝试了许多迭代和方法。有什么想法可以让Shiny在反应性环境中调用时可以生成图吗?

---
title: "Will not plot"

output: html_document

runtime: shiny

---


```{r setup, include=FALSE}
 knitr::opts_chunk$set(echo = TRUE)
```

```{r, echo = FALSE}

 inputPanel(
  actionButton("Plot", "Save and Open TRI"),
  numericInput("Size", label = "Size", value = 1000, 1000, 5000, 1000)
              )
# Works:
renderPlot({
plot(runif(1000)
     )})

# Doesn't work:
eventReactive(input$Plot,
{
  renderPlot({
plot(runif(1000)
 )})
}
)

observeEvent(input$Plot,
{
  renderPlot({
    plot(runif(1000)
     )})
}
)

```
Run Code Online (Sandbox Code Playgroud)

tos*_*pig 5

这应该做

---
title: "Will not plot"
output: html_document
runtime: shiny
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)  
```


```{r, echo = FALSE}

 inputPanel(
  actionButton("Plot", "Save and Open TRI"),
  numericInput("Size", label = "Size", value = 1000, 1000, 5000, 1000)
              )

p <- eventReactive(input$Plot, {plot(runif(1000))})

renderPlot({
  p()
  })

```
Run Code Online (Sandbox Code Playgroud)

参考:发光操作按钮 -参见模式2-特别是eventReactive

  • 作为对不熟悉闪亮的人的帮助 - 更改 eventReactive 行 `eventReactive(input$Plot, {plot(runif(input$Size))})` 也可以使绘图根据输入而变化。 (2认同)
  • 谢谢你。我很长一段时间都在为相关问题苦苦挣扎,并且忽略了上面的“p”是*函数*的关键事实 (2认同)