2015-10-07 64 views
1

运动图表显示在我自己的计算机上,尽管图表显示在另一个IE窗口而不是RStudio的内部窗口。 然而,当我使用将R闪亮服务器,以便部署在网络的googleVis运动图表,该错误消息显示:无法使用R闪亮服务器部署googleVis运动图表

Error: $ operator is invalid for atomic vectors 

我还检查他们使用下面的命令,它显示了它们不是原子:

>is.recursive(Fruits) 
    [1] TRUE 
    >is.atomic(Fruits) 
    [1] FALSE 

可复制代码如下,我简化了它,并使用内部数据“水果”来演示它;问题仍然存在,运动图表没有显示在同一个窗口中,而是出现在IE9的另一个窗口中。 而当使用闪亮服务器部署时,它变得崇拜,运动图根本没有出现,并显示相同的错误信息

服务器。 [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")) 
) 
) 
) 
) 
+0

您可以张贴整个代码,或至少足以让一个[重复的例子(http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible例如)? – tospig

+0

@tospig:我在下面添加了可重复的代码,感谢您的建议。 – Samoth

+0

我相信renderGvis需要作为HTML输出,所以在你的UI中,用htmlOutput(“motionchart2”)替换tableOutput。你也可以尝试用返回(M1)替换阴谋(M1)吗? –

回答

1

你不需要情节功能,同时渲染图中renderGivs部分。我稍微修改了代码的服务器部分。当你运行应用程序时,你必须在浏览器中打开它,否则图表将不会显示。

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)) 
相关问题