仅在启动并且单击操作按钮时刷新闪亮的情节

埃里克

我想在启动时渲染闪亮的图,然后要求单击操作按钮以重新渲染。我试图简化我的应用程序以在此处发布。您可以看到,更改“周”选择会触发刷新。除非单击操作,否则如何抑制所有刷新?

library(shiny); library(dplyr); library(ggplot2)

#toy data
dates= seq.Date(as.Date("2020-01-01"),as.Date("2020-05-01"),by="days")
set.seed(1)
data = data.frame(date = dates,val = runif(length(dates),50,150))

ui <- fluidPage(
  sidebarLayout(
    sidebarPanel(
      selectInput("group","Group",choices = LETTERS[1:3]),
      dateRangeInput('dateRangeCal', "Input date range"),
      selectInput("week","shift week",choices = c(0:3)),
      actionButton("action","Submit")
    ),
    mainPanel(
      plotOutput(outputId = "plot")
    )
  )
)

server <- function(input, output,session) {

  observeEvent( input$action, {
    startDate = as.Date("2020-01-01")+days(case_when(
      input$group == "A" ~ 0,
      input$group == "B" ~ 30,
      input$group == "C" ~ 60
    ))
    endDate=startDate+days(60)
    updateDateRangeInput(session = session, 
                         inputId = 'dateRangeCal',
                         label = 'Date range input:',
                         start = startDate,
                         end = endDate
    )

  },ignoreNULL = F)

  output$plot <- renderPlot({
    p = data %>%
      filter(date>=input$dateRangeCal[1]+days(input$week)*7,date<=input$dateRangeCal[2]) %>%
      ggplot(.,aes(x=date,y=val))+
      geom_line()
    p
  })
}

shinyApp(ui, server)
斯蒂芬·洛朗(Stephane Laurent)

应该这样做:

server <- function(input, output,session) {

  week <- reactiveVal()

  observeEvent( input$action, {
    week(input$week)
    startDate = as.Date("2020-01-01")+days(case_when(
      input$group == "A" ~ 0,
      input$group == "B" ~ 30,
      input$group == "C" ~ 60
    ))
    endDate=startDate+days(60)
    updateDateRangeInput(session = session, 
                         inputId = 'dateRangeCal',
                         label = 'Date range input:',
                         start = startDate,
                         end = endDate
    )

  },ignoreNULL = F)

  output$plot <- renderPlot({
    p = data %>%
      filter(date>=input$dateRangeCal[1]+days(week())*7,date<=input$dateRangeCal[2]) %>%
      ggplot(.,aes(x=date,y=val))+
      geom_line()
    p
  })
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

闪亮的无功输出,仅在首先单击操作按钮后才评估输入

来自分类Dev

仅在单击按钮时如何对菜单项执行操作

来自分类Dev

单击时刷新图像(单击时播放动画-闪亮)

来自分类Dev

单击按钮时自动刷新

来自分类Dev

表格行tr中的按钮,仅在单击按钮时才执行按钮操作

来自分类Dev

表格行tr中的按钮,仅在单击按钮时才执行按钮操作

来自分类Dev

查找单击按钮时页面刷新的原因

来自分类Dev

避免在单击按钮时自动刷新

来自分类Dev

单击按钮时刷新Ajax加载的页面

来自分类Dev

单击提交按钮时网页刷新

来自分类Dev

单击按钮时 Xcode 表刷新

来自分类Dev

单击按钮时更新/刷新片段

来自分类Dev

仅在单击按钮时显示图像

来自分类Dev

仅在单击按钮时更改显示

来自分类Dev

仅在单击按钮时显示图像

来自分类Dev

仅在单击按钮时显示div元素

来自分类Dev

如何仅在单击按钮时显示div

来自分类Dev

如何仅在单击按钮时加载 iframe

来自分类Dev

仅在按钮单击时滚动 GridView

来自分类Dev

在单击按钮时触发情节提要吗?

来自分类Dev

仅在按住按钮时执行操作

来自分类Dev

闪亮:单击按钮时增加高图大小

来自分类Dev

闪亮:单击按钮时增加高图大小

来自分类Dev

按钮仅在单击/触摸右侧时对单击/触摸做出反应

来自分类Dev

隐藏容器时,“操作”按钮不起作用。闪亮的R

来自分类Dev

单击按钮时启动QT线程

来自分类Dev

单击按钮时启动“导航抽屉活动”

来自分类Dev

仅在单击共享按钮后才执行共享所需的操作

来自分类Dev

单击操作栏按钮时失去焦点