[英]textInput with submitButton in Shiny
我目前正在探索在 shiny 仪表板中可视化从 rtweet 获得的输出的可能性,以允许用户探索自己的搜索。 我当前的阻止程序是用户编写所需搜索并通过提交按钮发出请求所需的步骤。
我的第一次尝试是创建一个反应事件,但这导致每次文本框中发生更改时都会进行查询。 在点击提交按钮后编写请求和接收可视化的最佳方法是什么?
奖励,我怎样才能在查询和提交按钮之间留出空间,这样它们在左侧看起来就不会那么杂乱?
谢谢指点!
正在进行中的代码:
library(shiny)
library(rtweet)
library(tidyverse)
ui <- fluidPage(
sidebarLayout(
sidebarPanel(
textInput(
inputId = "hash",
label = "Query"
),
submitButton(
text = "Submit"
)
),
mainPanel(
plotOutput("Frequency")
)
)
)
server <- function(input, output) {
results <- eventReactive(input$submit, {
search_tweets(
q = input$hash,
n = 100)
})
output$Frequency <- renderPlot({
ts_plot(results(), "day")
})
}
shinyApp(ui = ui, server = server)
这是使用eventReactive
的一种方法。
出于演示目的,我已将search_tweets
function 替换为rnorm
并将ts_plot
替换为简单的plot
。
library(shiny)
library(rtweet)
library(tidyverse)
ui <- fluidPage(
sidebarLayout(
sidebarPanel(
textInput(
inputId = "hash",
label = "Query"
),
br(),br(),
actionButton("submit",
"Submit"
)
),
mainPanel(
plotOutput("Frequency")
)
)
)
server <- function(input, output) {
results <- eventReactive(input$submit, {
rnorm(input$hash)
})
output$Frequency <- renderPlot({
plot(results())
})
}
shinyApp(ui = ui, server = server)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.