2

这些是我的 UI 和服务器的代码。我面临的问题是,当应用程序在本地运行时,没有生成图表。

用户界面

library(googleVis)
library(shiny)
shinyUI(fluidPage(
  titlePanel(" Tool"),
  sidebarLayout(
    sidebarPanel(
      radioButtons(inputId="choice", label="What would you like to see?", 
                   choices=c("Overall ","Individual"))
      ),
  mainPanel(
      htmlOutput("View")

    )
  )
))

服务器.R

library(googleVis)
require(googleVis)
shinyServer(function(input, output) {
  n = 100 
  dates = seq(Sys.Date(), by = 'day', length = n)
  x = 10 * rnorm(n)
  y = 3 * x + 1 + rnorm(n)
  label = rep(LETTERS[1:4], each=25)
  label[1] = "D"

  my.data = data.frame(Date = dates, x, y, label)
  output$view <- renderGvis({
    gvisMotionChart(my.data, idvar ='label', xvar = 'x', yvar = 'y', timevar= 'Date')
  })

}
)
4

1 回答 1

5

看起来你这里有几件事出了问题。首先,您应该在 server.R 和 ui.R 中都打开一个可以闪亮的库;看起来您在 server.R 中复制了 googleVis 两次。此外,我发现您在 htmlOutput('view') 中将“v”大写,但这应该与 server.R 中未大写的 output$view 路径匹配。

最重要的是,单选按钮似乎是多余的,或者我不明白其意图。通常使用单选按钮,以便它们的输入可以馈送到 server.R 中的反应式环境以更改数据集或其他一些参数(参见闪亮教程或此示例:https ://github.com/rstudio/shiny-examples/ blob/master/006-tabsets/server.R)。

下面的代码将产生情节,即使它们没有用,我也留下了单选按钮。

用户界面

library(googleVis)
library(shiny)

shinyUI(fluidPage(
  titlePanel(" Tool"),
  sidebarLayout(
    sidebarPanel(
      radioButtons(inputId="choice", label="What would you like to see?", 
                   choices= c("Overall ","Individual"))
    ),
    mainPanel(
      htmlOutput("view")

    )
  )
))

服务器.R

library(googleVis)
library(shiny)

shinyServer(function(input, output) {

  n = 100 
  dates = seq(Sys.Date(), by = 'day', length = n)
  x = 10 * rnorm(n)
  y = 3 * x + 1 + rnorm(n)
  label = rep(LETTERS[1:4], each=25)
  label[1] = "D"

  my.data = data.frame(Date = dates, x, y, label)

  output$view <- renderGvis({
    gvisMotionChart(my.data, 
                    idvar ='label', 
                    xvar = 'x', 
                    yvar = 'y', 
                    timevar= 'Date')
  })

})

启动应用程序后,请务必在浏览器中打开它。希望有帮助。

于 2014-12-25T07:34:26.060 回答