[英]RStudio Shiny Conditional Plot
我試圖用新的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)
})})
在reactivePlot
函數中,您可以執行類似的操作
if (is.null(input$data))
return(NULL)
我還要在數據集選項中添加一個空白條目( "(Choose one)"=""
)並且還有
if (!nzchar(input$dataset))
return(NULL)
在reactivePlot
。
還要確保檢查空字符串
if (!nzchar(input$dataset) || input$dataset=='')
return(NULL)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.