2016-12-12 30 views
0

我是新tiping R代碼裏面,我試圖讓閃亮的反應contourplot但我不能這樣做: 服務器的代碼是:XLIM在contourplot反應絲毫光澤

library(shiny) 
library(latticeExtra) 

shinyServer(function(input, output) { 
    grid<-expand.grid(a = seq(10, 15, 0.1),b = seq(50, 150,10)) 
    grid$c=grid$a*grid$b/100 

output$y<-renderPlot(contourplot(c ~ a + b, data= grid ,cuts = 20, label = TRUE, 
        xlim = c(input$Min_a, input$Max_a), ylim= c(input$Min_b,input$Max_b))) 

}) 

對於UI

library(shiny) 
library(latticeExtra) 

shinyUI(fluidPage(

    sidebarLayout(
    sidebarPanel(
     textInput("Min_a","Enter Minimum a:",""), 
     textInput("Max_a","Enter Maximum a:",""), 
     textInput("Min_b","Enter Minimum b:",""), 
     textInput("Max_b","Enter Maximum b:","") 

       ), 

    mainPanel(

     plotOutput("y") 
    ) 
) 
)) 

不工作。我試着把一些數字和工作放到德爾,但這不是我想要做的。服務器中的修改如下:

output$y<-renderPlot(contourplot(TAzH ~ rto + TCH, data= grid ,cuts = 20, label = TRUE, 
            xlim = c(10,15), ylim= c(50,130))) 

任何人都可以幫助我。先謝謝你。 對不起,因爲我的英語很糟糕。

回答

0

您需要將xlim和ylim轉換爲整數(它們將作爲來自UI的字符串來使用,然後才能工作)。您對contourPlot的輸入需要是動態的。此外,有一些默認值在用戶界面中輸入:

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

    output$y<-renderPlot({ 
     grid <- expand.grid(a = seq(as.integer(input$Min_a), as.integer(input$Max_a), 0.1),b = seq(as.integer(input$Min_b), as.integer(input$Max_b,10))) 
     grid$c = grid$a*grid$b/100 
     #contourplot(c ~ a + b, data= grid, cuts = 20, label = TRUE, xlim=c(10,15), ylim=c(50,150,10)) 
     contourplot(c ~ a + b, data= grid, cuts = 20, label = TRUE, 
             xlim = c(as.integer(input$Min_a), as.integer(input$Max_a)), 
             ylim= c(as.integer(input$Min_b), as.integer(input$Max_b))) 
    }) 

}) 

library(shiny) 
library(latticeExtra) 

ui <- shinyUI(fluidPage(

    sidebarLayout(
    sidebarPanel(
     textInput("Min_a","Enter Minimum a:","10"), 
     textInput("Max_a","Enter Maximum a:","15"), 
     textInput("Min_b","Enter Minimum b:","50"), 
     textInput("Max_b","Enter Maximum b:","150") 

    ), 

    mainPanel(

     plotOutput("y") 
    ) 
) 
)) 

shinyApp(ui=ui, server=server) 

enter image description here

+0

謝謝sandipan。 – fabio