Shiny和R将三个图组合成1

时间:2017-10-02 12:10:04

标签: r shiny

我已经开发了一个基本的介绍性闪亮,下载库存数据并运行3个技术指标。

这是代码:

yourTextField.font = UIFont(name: "Arial", size: CGFloat(16))

我想知道用户是否有可能每次只选择三个指标。目前,所有三个都显示但我知道可以有一个图表,并根据RSI,Value和ADX的选择来更改图表。

1 个答案:

答案 0 :(得分:2)

您可以根据需要使用switch

library(shiny)
library(quantmod)
library(dygraphs)
library(TTR)

ui <- shinyUI(fluidPage(
  titlePanel("Simple Stock Charting App"),

  sidebarLayout(
    sidebarPanel(
      textInput("symb", label = h3("Input a Valid Stock Ticker"), value = "GE") 
    ),
    selectInput("var", label = "bals", choices=list("RSI","Price","ADX"))
  ),
  ### uncomment for dygraphs chart
  mainPanel(dygraphOutput("plot"))
))

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

  dataInput <- reactive({
    getSymbols(input$symb, auto.assign = FALSE)
  })
  output$plot <- renderDygraph({
    data <- switch(input$var,"RSI" = RSI(Ad(dataInput()), n = 14),
                   "Price" = Ad(dataInput()),
                   "ADX" = ADX(HLC(dataInput()),n = 14))
    dygraph(data) %>%dyRangeSelector() 
  })
})

shinyApp(ui,server)

enter image description here