Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 将在shiny中呈现的ggvis图表的默认大小链接到wellPanel的尺寸_R_Svg_Shiny_Ggvis_Vega - Fatal编程技术网

R 将在shiny中呈现的ggvis图表的默认大小链接到wellPanel的尺寸

R 将在shiny中呈现的ggvis图表的默认大小链接到wellPanel的尺寸,r,svg,shiny,ggvis,vega,R,Svg,Shiny,Ggvis,Vega,我有一个非常酷的闪亮应用程序,可以查看我在工作中做的一些建模的结果。我使用的设备之一是位于井面板中的ggvis折线图。我想部署该应用程序进行在线查看,但通过在正常大小的屏幕(笔记本电脑)上查看该应用程序,我知道ggvis绘图溢出了wellPanel的边界。对我来说,这没什么大不了的,因为我有一个大屏幕,如果我在一个小屏幕上看它,我知道我可以交互式地调整ggvis图表的大小,但我不想告诉人们这样做。如果我重新调整ggvis图表的大小,wellPanel会响应,因此这两个对象的大小之间一定存在某种联

我有一个非常酷的闪亮应用程序,可以查看我在工作中做的一些建模的结果。我使用的设备之一是位于井面板中的ggvis折线图。我想部署该应用程序进行在线查看,但通过在正常大小的屏幕(笔记本电脑)上查看该应用程序,我知道ggvis绘图溢出了wellPanel的边界。对我来说,这没什么大不了的,因为我有一个大屏幕,如果我在一个小屏幕上看它,我知道我可以交互式地调整ggvis图表的大小,但我不想告诉人们这样做。如果我重新调整ggvis图表的大小,wellPanel会响应,因此这两个对象的大小之间一定存在某种联系。

那么,有没有一种方法可以将呈现的ggvis图表的默认大小设置为它所在容器的默认大小,而不管用户的屏幕大小如何?我知道ggvis是用SVG呈现的,因此探索这一点可能会很有成效。我没有直接使用SVG或Vega。下面是示例代码,下面是shinyapps上托管的应用程序的示例代码。有什么想法吗

注意:我发布的代码显然是供人们使用的。我想我只是想澄清一点,我不是在问一个如何让这个闪亮的应用程序工作的问题,而是如何设计它。当然,我欢迎其他建议。干杯

用户界面

服务器.r

librarylibrary(ggvis)
图书馆(dplyr)
shinyServer(功能(输入、输出、会话){
观察({
######定义控件
输出$regionO%bind_(“plot1”)
选择服务%layer_线(行程宽度:=2.5)%>%
添加坐标轴(“x”,title=“分析期”)%%>%添加坐标轴(“y”,title=“地区生产总值$M”)%%>%scale\u numeric(“y”,零=真)
})  
sPlot2%>%bind_发亮(“plot2”)
}#存在测试ui控件
})#末端观察者
})#结束闪亮服务器
全球

播放数据####################
选项(stringsAsFactors=FALSE)

expJ是服务器中的代码。R正确吗?我在服务器函数global的第10行中得到一个错误。R似乎与应用程序的其余部分无关,其中有sPlot1和splot2,所以很抱歉,我忘记了一些(
library(shiny)
library(ggvis)

shinyUI(navbarPage("Results Viewer", #theme="bootstrap.css",

  tabPanel("Summary Results",
   fluidRow(
      column(2,
       wellPanel(
        uiOutput("regionO"),
        br(),
        uiOutput("scenarioO"),
        br(),
        uiOutput("fuelO"),
        uiOutput("tmpO")
        )
      ),
     column(5,
       wellPanel(style="position: relative;", 
        h5("Employment",align="center"),
        ggvisOutput("plot1")
        )
      ),
     column(5,
      wellPanel(style="position: relative;", 
        h5("Gross Regional Product (Million Dollars)",align="center"),
        ggvisOutput("plot2")
        )
      )
     ) 
    )
   )
  )
librarylibrary(ggvis)
library(dplyr)

shinyServer(function(input, output, session) {

observe({

###### Define Controls ####### 

output$regionO <- renderUI({ checkboxGroupInput(inputId="regionI", label = h4("Regions"), 
        choices = list("Western", "Central", "Southern","Northern", "Capital", "Hudson"),
                   selected="Capital")
}) 

output$scenarioO <- renderUI({ selectInput(inputId="scenarioI", label = h4("Scenario"), 
        choices = list("Low Units, Low Tech"="Lo,Lo" ,"Low Units, High Tech"="Lo,Hi","High Units, Low Tech"="Hi,Lo","High Units, High Tech"="Hi,Hi"),
                   selected="Lo,Lo")
})

output$fuelO <- renderUI({ selectInput(inputId="fuelI", label = h4("Fuel Price"), 
        choices = list("High Price" = "Hi", "Low Price" = "Lo"),
                   selected="Lo")
})

output$tmpO <- renderUI({actionButton("resetI", label = "Reset")}) 

###### Define Data ########### 

if(!is.null(input$resetI)){

chooseRJ <- reactive({ 

     chooseD <- expJ %>% filter(Scenario == input$scenarioI, Region %in% input$regionI, Price == input$fuelI)
     return(chooseD)
 })

sPlot1 <- reactive({

     chooseRJ %>% ggvis(~factor(Period),~Total,stroke=~Region) %>% layer_lines(strokeWidth:=2.5) %>% 
     add_axis("x",title="Analysis Period") %>% add_axis("y",title="Jobs") %>% scale_numeric("y",zero=TRUE) 
}) 

sPlot1 %>% bind_shiny("plot1") 


chooseRV <- reactive({ 

     chooseD <- expV %>% filter(Scenario == input$scenarioI, Region %in% input$regionI, Price == input$fuelI)
     return(chooseD)
})

sPlot2 <- reactive({

        chooseRV %>% ggvis(~factor(Period),~Total,stroke=~Region) %>% layer_lines(strokeWidth:=2.5) %>% 
        add_axis("x",title="Analysis Period") %>% add_axis("y",title="Gross Regional Product $M") %>% scale_numeric("y",zero=TRUE) 
})  

sPlot2 %>% bind_shiny("plot2")  

 } # Test ui controls exist 

}) # End Observeer

}) # End Shiny Server
##### Play data ####################

options(stringsAsFactors = FALSE)

expJ <- data.frame(Region=rep(c("Western","Central","Southern","Northern","Capital","Hudson"),times=4,each=8),
                Scenario=rep(c("Lo,Lo","Lo,Hi","Hi,Lo","Hi,Hi"),each=48),
                Price=rep(c("Hi","Lo"),times=24,each=4),
                Period=rep(c(1,2,3,4),times=48),
                Total=rnorm(192,5,1.5))

expV <- data.frame(Region=rep(c("Western","Central","Southern","Northern","Capital","Hudson"),times=4,each=8),
                Scenario=rep(c("Lo,Lo","Lo,Hi","Hi,Lo","Hi,Hi"),each=48),
                Price=rep(c("Hi","Lo"),times=24,each=4),
                Period=rep(c(1,2,3,4),times=48),
                Total=rgamma(192,10,1.78))