2

これらは私の UI とサーバーのコードです。私が直面している問題は、アプリがローカルで実行されているときにグラフが生成されないことです。

ui.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)
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 を 2 回再現したようです。さらに、htmlOutput('view') の 'v' を大文字にしていることがわかりましたが、これは大文字ではない server.R の output$view パスと一致する必要があります。

その上、ラジオボタンが余計に見えたり、意図がわかりません。通常、ラジオ ボタンは、入力を server.R のリアクティブ環境に供給して、データセットまたはその他のパラメーターを変更できるようにするために使用されます (shiny チュートリアルまたはこの例を参照してください: https://github.com/rstudio/shiny-examples/ blob/master/006-tabsets/server.R )。

以下のコードはプロットを生成し、ラジオ ボタンは何の役にも立ちませんが、そのままにしておきました。

ui.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 に答える