无法使用 R shiny 服务器部署 googleVis 动态图表
Unable to deploy the googleVis motion chart using R shiny server
虽然图表显示在其他 IE window 而不是 RStudio 的内部 window 上,但它在我自己的计算机上显示得很好。
然而,当我使用 R Shiny 服务器在网络上部署 googleVis 运动图表时,此错误消息显示:
Error: $ operator is invalid for atomic vectors
我还使用以下命令检查了它们,结果表明它们不是原子的:
>is.recursive(Fruits)
[1] TRUE
>is.atomic(Fruits)
[1] FALSE
可重现的代码如下,我将其简化并使用内部数据"fruit"进行演示;问题依旧,动图在IE9中没有出现在同一个window中,而是出现在另一个window中。
当使用 shiny-server 部署时,情况变得更糟,动态图表根本没有出现并显示相同的错误消息
服务器。 R
library(googleVis)
library(shiny)
shinyServer(function(input, output) {
output$motionchart2 <- renderGvis({
M1 <- gvisMotionChart(Fruits, idvar="Fruit", timevar="Year")
plot(M1)
})
})
UI.R
library(shiny)
library(googleVis)
shinyUI(fluidPage(
titlePanel("Analysis"),
mainPanel(
navlistPanel(
tabPanel("MotionChart",h1("Motion Chart"),tableOutput("motionchart2"))
)
)
)
)
在 renderGivs 部分渲染图表时不需要 plot 函数。我稍微修改了您代码的服务器部分。当您 运行 应用程序时,您必须在浏览器中打开它,否则图表将不会显示。
library(shiny)
library(googleVis)
ui = shinyUI(fluidPage(
titlePanel("Analysis"),
mainPanel(
navlistPanel(
tabPanel("MotionChart",h1("Motion Chart"),tableOutput("motionchart2"))
)
)
))
server = shinyServer(function(input, output) {
output$motionchart2 <- renderGvis({
gvisMotionChart(Fruits, idvar="Fruit", timevar="Year")
})
})
runApp(list(ui = ui, server = server))
虽然图表显示在其他 IE window 而不是 RStudio 的内部 window 上,但它在我自己的计算机上显示得很好。 然而,当我使用 R Shiny 服务器在网络上部署 googleVis 运动图表时,此错误消息显示:
Error: $ operator is invalid for atomic vectors
我还使用以下命令检查了它们,结果表明它们不是原子的:
>is.recursive(Fruits)
[1] TRUE
>is.atomic(Fruits)
[1] FALSE
可重现的代码如下,我将其简化并使用内部数据"fruit"进行演示;问题依旧,动图在IE9中没有出现在同一个window中,而是出现在另一个window中。 当使用 shiny-server 部署时,情况变得更糟,动态图表根本没有出现并显示相同的错误消息
服务器。 R
library(googleVis)
library(shiny)
shinyServer(function(input, output) {
output$motionchart2 <- renderGvis({
M1 <- gvisMotionChart(Fruits, idvar="Fruit", timevar="Year")
plot(M1)
})
})
UI.R
library(shiny)
library(googleVis)
shinyUI(fluidPage(
titlePanel("Analysis"),
mainPanel(
navlistPanel(
tabPanel("MotionChart",h1("Motion Chart"),tableOutput("motionchart2"))
)
)
)
)
在 renderGivs 部分渲染图表时不需要 plot 函数。我稍微修改了您代码的服务器部分。当您 运行 应用程序时,您必须在浏览器中打开它,否则图表将不会显示。
library(shiny)
library(googleVis)
ui = shinyUI(fluidPage(
titlePanel("Analysis"),
mainPanel(
navlistPanel(
tabPanel("MotionChart",h1("Motion Chart"),tableOutput("motionchart2"))
)
)
))
server = shinyServer(function(input, output) {
output$motionchart2 <- renderGvis({
gvisMotionChart(Fruits, idvar="Fruit", timevar="Year")
})
})
runApp(list(ui = ui, server = server))