这些是我的用户界面和服务器的代码。我面临的问题是,当应用程序在本地运行时,不会生成图表。
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')
})
}
)
最佳答案
看起来您这里出了一些问题。首先,你应该有一个在 server.R 和 ui.R 中都可以打开的库;看来您在 server.R 中复制了 googleVis 两次。另外,我发现您将 htmlOutput('view') 中的 'v' 大写,但这应该与 server.R 中未大写的 output$view 路径匹配。
除此之外,单选按钮似乎是多余的,或者我不明白其意图。通常使用单选按钮,以便将它们的输入输入到 server.R 中的响应式(Reactive)环境中,以更改数据集或其他一些参数(请参阅 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')
})
})
启动应用程序后,请务必在浏览器中将其打开。希望有帮助。
关于r - 使用 googleVis 在本地运行时,R Shiny 中未生成图表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27642253/