强制闪亮循环渲染绘图

2023-12-01

我有一个运行模拟的闪亮应用程序。目标是以图表的形式向用户展示其间的计算步骤。

如何强制shiny更新剧情?

MWE 看起来像这样

library(shiny)

server <- function(input, output, session) {
  # base plot as a placeholder
  output$myplot <- renderPlot(plot(1:1, main = "Placeholder"))

  # wait until the button is triggered
  observeEvent(input$run, {
    print("Do some calculations in 3 steps")
    for (i in seq_len(3)) {
      print("Do some calculations")
      # ...
      x <- seq_len(i * 100)
      y <- (x + 1)^2 - 1 # this will do for now

      print("Plot the data ")

      # ISSUE HERE!
      # this should render the current step of the simulation, instead it 
      # renders only after the whole code is run (i.e., after step 3)
      output$myplot <- renderPlot(plot(x, y, main = sprintf("Round %i", i), type = "l"))

      print("Wait for 1 second for the user to appreciate the plot...")
      Sys.sleep(1)
    }
  })
}

ui <- fluidPage(
  actionButton("run", "START"),
  plotOutput("myplot")
)

shinyApp(ui = ui, server = server)

问题是,shiny 运行代码并在模拟结束时生成一个图,但是,我想在每个模拟步骤中获得一个图(至少显示一秒钟)。

非常感谢任何帮助/提示。

Appendix

我看过这个post,但用图替换文本/renderPlot不会产生正确的结果。


你可以嵌套一个observer进入一个observeEvent使其发挥作用。基于您链接的 SO 主题中 Jeff Allen 的代码。

关键部分:

observeEvent(input$run, {
    rv$i <- 0
    observe({
      isolate({
        rv$i <- rv$i + 1
      })

      if (isolate(rv$i) < maxIter){
        invalidateLater(2000, session)
      }
    })
  })

完整代码:

library(shiny)

server <- function(input, output, session) {
  rv <- reactiveValues(i = 0)
  maxIter <- 3

  output$myplot <- renderPlot( {
    if(rv$i > 0) {
      x <- seq_len(rv$i * 100)
      y <- (x + 1)^2 - 1 # this will do for now
      plot(x, y, main = sprintf("Round %i", rv$i), type = "l") 
    } else {
      plot(1:1, main = "Placeholder")
    }
  })

  observeEvent(input$run, {
    rv$i <- 0
    observe({
      isolate({
        rv$i <- rv$i + 1
      })

      if (isolate(rv$i) < maxIter){
        invalidateLater(2000, session)
      }
    })
  })

}

ui <- fluidPage(
  actionButton("run", "START"),
  plotOutput("myplot")
)

shinyApp(ui = ui, server = server)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

强制闪亮循环渲染绘图 的相关文章

  • dplyr 中的 Summarize 是否可以不删除数据框中的其他列?

    我有一个包含三列的数据框 我正在尝试进行简单的总结以查找数据框中每个城市的最高温度 但同时保留每个最高温度列出的日期 这是数据框 我们称之为 maxT new ID Date Max TemperatureF 1 TUS 1960 04 0
  • 从 python 中的动态 mpld3 图中检索数据

    我想更新用于创建 mpld3 生成的 python matplotlib 列表图的输入数据 实际上 我有与此处发布的相同的问题 拖动后获取点信息 https stackoverflow com questions 24498322 mpld
  • R-了解 akima::interp 结果中的 NA 值

    我有以下数据框 ref dat k Intensity Slope 1 0 021467214 33 16 2 0 012444759 33 8 3 0 006079156 33 4 4 0 003792025 33 2 5 0 02276
  • 查找数据帧列表中同一列中的所有重复值并将其转换为 NULL

    我有一个清单BELGIAN COAST list包含数百个数据帧 df1 df2 15 列 X 1000 行 每个数据帧的最后一列称为Chemicals并包含一些字符 例如Sulfate or Ammonia 但是这一列有很多行Chemic
  • 如何在 R 中为传单中的数值变量设置不对称颜色渐变

    我想让传单调色板以零为中心 红白绿发散 我已经尝试过中所说的这个帖子 https stackoverflow com questions 29262824 r center color palette on 0 当我尝试手动创建颜色时 我得
  • R 编程:如何计算数据框中两个单元格之间的差异并将它们保存在新列中

    尝试学习 R 并陷入自相关示例中 我想将 x 的差异与 y 的差异进行回归 我在数据框中有 x 和 y 并且希望将 x2 x1 的差值保存在新列 例如 dx 中 我不知道该怎么做 我拥有的 data1 x y 5 3 8 9 3 1 1 5
  • 将 sf voronoi 多边形裁剪到边界框时出错

    我正在尝试将 voronoi polygons 使用 sf package 创建 剪辑 到边界框 但它引发了我无法定义的错误 我对 R 的空间世界不太有经验 感谢所有帮助 样本数据 stations lt structure list ST
  • 仅保留百分比的尾随零

    给出以下示例 library pander tableAbs lt Titanic 1 1 tablePct lt round prop table tableAbs 100 2 table lt cbind tableAbs tableP
  • R 中的字符串作为函数参数

    数据框chocolates列出了糖果的类型以及每种糖果的一组评级 ID sweetness filling crash snickers 0 67 0 55 0 40 milky way 0 81 0 53 0 56 我正在编写一个函数 它
  • 使用outer代替expand.grid

    我正在寻找尽可能快的速度并留在基地做该做的事expand grid做 我用过outer为过去类似的目的创建一个向量 像这样的东西 v lt outer letters LETTERS paste0 unlist v lower tri v
  • r 中的 5 维图

    我正在尝试在 R 中绘制 5 维图 我目前正在使用rgl包以 4 个维度绘制数据 使用 3 个变量作为 x y z 坐标 另一个变量作为颜色 我想知道是否可以使用这个包添加第五个变量 例如空间中点的大小或形状 这是我的数据和当前代码的示例
  • 带 R 的多彩标题

    我想添加颜色某些词在我的图表标题中 我已经能够在这里找到一些先例 http blog revolutionanalytics com 2009 01 multicolor text in r html 具体来说 我希望用撇号括起来的文本 在
  • 在 R 中使用 Huggingface Transformer 模型

    我正在尝试在 R 中使用不同的 Huggingface 模型 这是通过 reticulate 导入 Transformer 包来实现的 谢谢 https rpubs com eR ic transfoRmers https rpubs co
  • 使用 dplyr::filter 的整洁方式是什么?

    使用下面的函数调用foo c b 输出以内联方式显示 正确的写作方式是什么df gt filter x gt x 我已经包含了一个使用的示例mutate以整洁的风格与之对比filter foo lt function variables x
  • 16 位以上整数的计算

    我有两个大整数 两者都超过 16 位 确切地说是 20 位 而且我知道由于双精度浮点运算 我在使用这些数字进行计算甚至将它们存储在变量中 独立于编程语言 时受到限制 不过 我想也许gmp图书馆应该处理它们 但不幸的是它没有 可以计算更大的整
  • 如何匹配 R 中的所有匹配项?

    我有 1000 个名字的列表 说A 我还有另外 5 个名字的清单 说B 我想找出这5个名字出现在1000个号码列表中的第几行 例如 Amy 在 A 中可以出现 25 次 B 里有艾米 我想知道 Amy 出现在 A 中的哪些行 我以前使用过
  • R 中的 Websocket

    我设法在 R 中建立到 Mtgox websocket 的连接 规格如下 url https socketio mtgox com mtgox Currency USD https socketio mtgox com mtgox Curr
  • GGPLOT2:如何在 ggplot() 脚本中绘制特定选择

    这是一个名为的大型数据集的峰值P 其中有 10 个优惠 CS 有不同的商店 SHP 具有多个数值 数据集列出了按周排序的它们 WK 2 tm 52 它创建一个大文件 仅前 6 行出现峰值 WK MND CS SHP RevCY RevLY
  • 替换字符串/文本中“从第 n 次到最后一次”出现的单词

    这个问题以前曾被问过 但尚未得到令提问者满意的答案 https stackoverflow com questions 36368712 how to use stringrs replace all function to replace
  • 单击 R 中的 Sankey Chart 线时添加额外的标签值

    以下 R 闪亮脚本创建一个桑基图 如下面的快照所示 我的要求是 当我单击左右节点之间的任何链接 即 a1 和 a2 时 我希望相应的 a3 的总和出现在标签中 例如 a1 中的 A 和 a2 中的 E 总共具有值 50 和 32 因此 我想

随机推荐

  • 在flaskext.mysql中寻找dictcursor的等价物

    我编写了一个Python Flask应用程序 最初使用MySQLdb来访问MySQL 后来我出于同样的目的切换到flaskext mysql 但现在当我使用这个模块时 我看不到如何获取字典结构的游标 当我使用 MySQLdb 模块时 我使用
  • WTForms-JSON 不适用于 FormFields

    当我使用 WTForms JSON 时 嵌套表单 FormFields 不会填充数据 我无法发现我的错误 请参阅下面的示例 from flask import Flask request jsonify from flask wtf imp
  • 管理两个 UI 的最佳方法是什么?

    我创建了两个用户界面 如何关闭第一个并激活下一个 Google Apps 脚本下是否可以有两个 UI 我尝试过类似的事情 var app UiApp getActiveApplication app add app loadComponen
  • Matlab:字符串数组中的数字数组索引(无循环)

    我正在做 MIT OCW MATLAB 入门课程中的一系列问题 你可以看到here 这是问题 9 第 g iii 部分 我有一个矩阵 其中包含一门课程的最终成绩 所有成绩的范围都从 1 到 5 我还有另一个数组 其中仅包含字母 F to A
  • 在构造的字符串上使用 execvp 的问题

    我正在尝试编写一个 shell 其构造的一部分是从用户输入的字符串 缓冲区 执行代码 然而 当我尝试使用附加输入 ae echo a 执行 execvp 字符串时 它总是会搞砸并返回 1 我不知道为什么 这是相关的部分 char buffe
  • 万事达卡的正则表达式

    我找到了信用卡类型 MasterCard 的以下正则表达式 public static readonly string CreditMasterCard 5 1 5 0 9 14 然后我写了下面的代码 Regex regexMasterCa
  • 如何获取多维数组的交集?

    我有一个多维数组的数组 每个数组代表一个搜索结果集 我正在尝试找出如何过滤这组数据以仅包含每个数组中存在的数组 注意 下面显示的索引各自代表多维数组 每个数组都有一个深度嵌套的Id可用于比较的键 The Id位于 reference var
  • PlaceAutocompleteFragment 无法解析

    在我的应用程序中 我添加了谷歌地图 它们工作正常 我想添加一个 PlaceAutocompleteFragment 我正在使用已经为地图生成的密钥 并且我已启用来自 google console 的 Places Api 选项 我已将这些添
  • 处理 AdWhirl 失败

    您好 我正在开发一个 Android 应用程序并使用 AdWhirl 来显示我的广告 我希望能够处理 AdWhirl 不返回广告的情况 当它失败时 我想显示一个装饰栏 谁能给我举个例子吗 提前致谢 好吧 我现在已经弄清楚了 有两种可能的方法
  • 如何读取单个Excel单元格值

    我有一个带有sheet1的Excel文件 其中有一个我需要在第2行和第10列读取的值 这是我的代码 Excel Workbook excelWorkbook excelApp Workbooks Open workbookPath 0 fa
  • 是否有 GCC 关键字允许结构重新排序?

    我知道为什么 GCC 默认情况下不重新排序结构的成员 但我很少编写依赖于结构顺序的代码 那么有什么方法可以将我的结构标记为自动重新排序吗 以前的 GCC 版本有 fipa struct reorg option允许结构重新排序 fwhole
  • 使用VBA将图片插入Excel并保持宽高比不超过尺寸

    我正在将Access数据库中的数据导出到Excel报告中 报告中需要包含的部分内容是与数据对应的图片 图片存储在共享文件中并插入到 Excel 文件中 如下所示 Dim P As Object Dim xlApp As Excel Appl
  • 具有相同哈希码的两个 Java 对象不一定相等吗?

    我理解为什么为两个相等的提供相同的哈希码 通过equals 对象很重要 但反之亦然 如果两个对象具有相同的哈希码 它们是否必须相等 合同还有效吗 我找不到可能发生这种情况的示例 因为如果参与 equals 方法的所有这些属性也都用于覆盖 h
  • PInvoke 和 char**

    我从某人那里得到了这个程序集 我想在我的 C 应用程序中使用它 标题看起来像这样 int declspec dllimport s2o WCHAR filename char out int len 我设法让它部分工作 使用 DllImpo
  • 二元运算符 * 不能应用于 Int 和 Double 类型的操作数

    我正在尝试构建一个简单的 Swift 应用程序来计算增值税 增值税 20 func taxesFree number Int gt Double var textfield self inputTextField text toInt le
  • jaxb 不生成具有基本整数的枚举

    我有以下xsd
  • 用 python 拟合直方图

    我有一个直方图 H hist my data bins my bin histtype step color r 我可以看到形状几乎是高斯的 但我想用高斯函数拟合这个直方图并打印我得到的平均值和西格玛的值 你能帮助我吗 这里有一个在 py2
  • Wpf如何打印列表框

    我想知道打印 ListBox 值的最简单方法是什么 我尝试使用 FlowDocumentReader 但没有成功 如果您尝试打印视觉元素 您可以使用 PrintDialog printDlg new PrintDialog printDlg
  • React 中可以在 Component 里面写 Component 吗?

    我遇到过很多关于如何做的资料来源Component筑巢 然而 每当我尝试创建一个Component在另一个里面Component我的代码失败了 class parent extends React Component class child
  • 强制闪亮循环渲染绘图

    我有一个运行模拟的闪亮应用程序 目标是以图表的形式向用户展示其间的计算步骤 如何强制shiny更新剧情 MWE 看起来像这样 library shiny server lt function input output session bas