2016-12-12 38 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