2016-11-24 15 views
0

我试图添加一个rCharts输出到一个闪亮的应用程序。如果输入无效,那么我不想输出任何东西 - 所以我希望能够返回NULL或在输出中以某种方式产生“空白图”。但我无法弄清楚如何在rCharts中创建一个空的图。如何在rCharts中创建一个空的图?

这里是我的代码中,例如取直出README,但我注释掉的情节代码,返回NULL,而不是

library(shiny) 
library(rCharts) 

ui <- pageWithSidebar(
    headerPanel("rCharts: Interactive Charts from R using polychart.js"), 

    sidebarPanel(
    selectInput(inputId = "x", 
       label = "Choose X", 
       choices = c('SepalLength', 'SepalWidth', 'PetalLength', 'PetalWidth'), 
       selected = "SepalLength"), 
    selectInput(inputId = "y", 
       label = "Choose Y", 
       choices = c('SepalLength', 'SepalWidth', 'PetalLength', 'PetalWidth'), 
       selected = "SepalWidth") 
), 
    mainPanel(
    showOutput("myChart", "polycharts") 
) 
) 

server<- function(input, output) { 
    output$myChart <- renderChart({ 
    # names(iris) = gsub("\\.", "", names(iris)) 
    # p1 <- rPlot(input$x, input$y, data = iris, color = "Species", 
    #    facet = "Species", type = 'point') 
    # p1$addParams(dom = 'myChart') 
    # return(p1) 
    return(NULL) 
    }) 
} 

shinyApp(ui, server) 

回答

1

showOutput预计的对象返回正确的,所以为什么你给回该类的空对象。

output$myChart <- renderChart({ 
     mychart <- Polycharts$new() 
     return(mychart) 
}) 
+0

谢谢。我是rCharts的完全noob,这正是我需要知道如何去做的。谢谢。我看到一个不同的答案,说我应该使用'renderChart2'而不是 - 你碰巧知道区别? –

+1

我不是100%肯定是诚实的时候使用一个或另一个,我认为有一些库的依赖,它必须返回一个对象,所以他引入了一个补丁'renderChart2'来覆盖,但再次我不是100%确定。主要区别在于你使用的库如'polycharts','nvd3','highcharts'或其他 –