首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >rCharts -结合两个类似于gvisMerge的rCharts

rCharts -结合两个类似于gvisMerge的rCharts
EN

Stack Overflow用户
提问于 2014-01-28 17:41:04
回答 1查看 1K关注 0票数 3

不管怎么说,我可以组合两个rCharts,比如gvisMerge(obj1,obj2)。我意识到rCharts对象是函数。有没有办法组合R函数。我正在使用一个闪亮的应用程序,在这个应用程序中,我要呈现两个rCharts。

代码语言:javascript
复制
 output$chart = renderChart({
 a <- rHighcharts:::Chart$new()
 a$title(text = "Report 1")
 a$xAxis(categories = as.character(df1$Date))
 a$yAxis(title = list(text = "Report 1"))

 a$data(x = df1$Date, y = df1$Val1, type = "line", name = "Values 1")
 a$data(x = df1$Date, y = df1$Val2, type = "column", name = "Values 2")
 a

 b <- rHighcharts:::Chart$new()
 b$title(text = "Report 2")
 b$xAxis(categories = as.character(df2$Week))
 b$yAxis(title = list(text = "Report 2"))

 b$data(x = df2$Week, y = df2$Val3, type = "line", name = "Values 3")
 b$data(x = df2$Week, y = df2$Val4, type = "column", name = "Values 4")
 b
 return(a,b) # Can we combine both and return
 })

在ui.R

代码语言:javascript
复制
output$mytabs = renderUI({
  tabs = tabsetPanel(
         tabPanel('Plots', h4("Plots"), chartOutput("chart"))
  })
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-28 18:12:59

如果您使用的是闪亮,我建议使用它的布局功能来布局您的页面,然后放置图表,您想要的。下面是一个最小的例子(您必须正确设置图表的宽度以避免重叠)

代码语言:javascript
复制
library(shiny)
library(rCharts)

runApp(list(
  ui = fluidPage(
    title = 'Multiple rCharts',
    fluidRow(
      column(width = 5, chartOutput('chart1', 'polycharts')),
      column(width = 6, offset = 1, chartOutput('chart2', 'nvd3'))
    )
  ),
  server = function(input, output){
    output$chart1 <- renderChart2({
      rPlot(mpg ~ wt, data = mtcars, type = 'point')
    })
    output$chart2 <- renderChart2({
      nPlot(mpg ~ wt, data = mtcars, type = 'scatterChart')
    })
  }
))
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21412831

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档