我有两个问题需要解决。首先,模型没有运行我不知道为什么?
完成!由Vongo和NicE完成。第一个问题是:我有两个地点,他们的销售数量显示为情节。我想根据ggtitle(“分析输入$ location”)等选择输入更改情节标题。
其次,我想在sidebarPanel中显示情节 - 在执行按钮下面。然而,在练习中我有一个白色的空白区域,已经预订了要生产的地块。在执行情节之前,我不想在sidebarPanel中预定这个区域。
ui.r
library(shiny)
shinyUI(pageWithSidebar(
headerPanel("Sidebar Study"),
sidebarPanel(
selectInput(inputId = "location",label = "Choose Location",
choices = c('Los Angeles', 'New York', selected = "Los Angeles"),
actionButton("execute","Execute")
plotOutput("plot"))),
mainPanel( )))
server.r
library(shiny)
shinyServer(function(input, output,session) {
output$plot <- renderPlot({
if(input$execute){
if(input$location="New York"){
tmp <- data.frame(time = 1:100, sales = round(runif(100, 150, 879)) )
}
if(input$location="Los Angeles"){
tmp <- data.frame(time = 1:100, sales = round(runif(100, 90, 512)) ) }
y<-ggplot(as.data.frame(tmp), aes(time)) + geom_line(size=1,aes(y=sales, colour = "sales"))+ ggtitle(paste("Analyze of", input$location))
y
}})
})
答案 0 :(得分:2)
当用户点击按钮时,您可以使用renderUi
和uiOutput
动态添加图表的持有者。在您的ui.R中,尝试将plotOutput("plot")
替换为uiOutput("plotDiv")
并在服务器中。您可以添加:
output$plotDiv <- renderUI({
if(input$execute>0){
plotOutput("plot")
}
})
对于情节的标题,你可以这样做:
ggtitle(paste("Analyze of",input$location))
此外,if
中的server.R
也存在问题,应为input$location=="New York"
(添加等号)。你的ui.R
中也有括号问题,现在操作按钮和绘图输出都在selectInput中。