rChart在闪亮的应用程序中打开新窗口

时间:2013-10-28 12:21:18

标签: r shiny rcharts rstudio-server

我正在尝试在闪亮的应用程序中绘制rChart并通过Rstudio服务器运行它。当我运行应用程序时,闪亮页面会显示错误:尝试应用非功能,并在新的浏览器窗口中打开RChart。

如何让rChart出现在闪亮的应用程序中?

server.R

library(shiny)
require(rCharts)

names(iris) = gsub("\\.", "", names(iris))

shinyServer(function(input, output) {

output$myChart  <- renderChart({
h1 <- hPlot(x = "Wr.Hnd", y = "NW.Hnd", data = MASS::survey, 
type = c("line", "bubble", "scatter"), group = "Clap", size = "Age")
return(h1$show(cdn = TRUE))
  })
})

ui.R

library(shiny)
require(rCharts)
shinyUI(pageWithSidebar(

headerPanel("rCharts and shiny"),

sidebarPanel(),

mainPanel(
showOutput("myChart")
  )
))

我的R会话信息

R version 3.0.2 (2013-09-25)
Platform: x86_64-pc-linux-gnu (64-bit)

other attached packages:
[1] shiny_0.7.0     plyr_1.8        rCharts_0.3.51  devtools_1.3    ggplot2_0.9.3.1    RMySQL_0.9-3    DBI_0.2-7      

2 个答案:

答案 0 :(得分:8)

您必须根据所使用的图表类型指定需要导入的库。

以下是rCharts包描述中所有可用库的list

datatables
dimple
highcharts
leaflet
morris
nvd3
polycharts
rickshaw
vega
xcharts

以下是rcharts网站上的演示代码,我将其修改为绘制hplot。

ui.R

require(rCharts)
shinyUI(pageWithSidebar(
  headerPanel("rCharts: Interactive Charts from R using highcharts"),

  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", "highcharts")
  )
))

server.R

require(rCharts)
shinyServer(function(input, output) {
  output$myChart <- renderChart({
    names(iris) = gsub("\\.", "", names(iris))
    # HPLOT
    p1 <- hPlot(input$x, input$y, data = iris, type = c("line", "bubble", "scatter"), group = "Species", size = 1)
    # RPLOT
    #p1 <- rPlot(input$x, input$y, data = iris, color = "Species", facet = "Species", type = 'point')
    p1$addParams(dom = 'myChart')
    return(p1)
  })
})

enter image description here

答案 1 :(得分:7)

您在library中缺少showOutput的名称。如果您安装dev的{​​{1}}分支,则可以运行以下代码

rCharts