【问题标题】:RStudio Shiny Conditional PlotRStudio Shiny 条件图
【发布时间】:2012-11-04 09:55:06
【问题描述】:

我正在尝试使用新的 RStudio 功能 Shiny 创建一个 Web 应用程序,该功能可以绘制不同的股票。我创建了以下示例。

我想选择数据集 StockMarket 然后选择例如 DAX,最后应该会出现图。

现在,如果您运行此代码,绘图会立即出现

你能帮帮我吗?

ui.R:
library(shiny)
library(ggplot2)

shinyUI(pageWithSidebar(

# Application title
headerPanel("Plot1"),
sidebarPanel(
selectInput("dataset", "Dataset", list("mtcars"="cars", "StockMarket"="stocks")),

conditionalPanel(
  condition = "input.dataset=='stocks'",
  uiOutput("data")
)),
mainPanel(
plotOutput('plotstock')) ))


server.R:
library(shiny)
require(ggplot2)
library(datasets)

shinyServer(function(input, output) {

output$data<- reactiveUI(function() {

selectInput("data", "Choose Dataset", colnames(EuStockMarkets))
})

output$plotstock <- reactivePlot(function() {
data<-data.frame(EuStockMarkets)
p<- ggplot(data,aes(x=seq(1,length(data[,1])),y=DAX))+geom_line(size=1)+ylab("")+opts(title="Time Series")
print(p)
 })})

【问题讨论】:

    标签: r ggplot2 rstudio shiny


    【解决方案1】:

    reactivePlot 函数中,您可以执行类似的操作

    if (is.null(input$data))
      return(NULL)
    

    我还会在数据集选项 ("(Choose one)"="") 中添加一个空白条目,并且还有

    if (!nzchar(input$dataset))
      return(NULL)
    

    reactivePlot.

    【讨论】:

      【解决方案2】:

      还要确保检查空字符串

      if (!nzchar(input$dataset) || input$dataset=='')
      return(NULL)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-07-19
        • 1970-01-01
        • 1970-01-01
        • 2021-12-14
        • 1970-01-01
        • 2014-09-24
        • 2019-05-25
        • 2014-03-23
        相关资源
        最近更新 更多