4

我正在使用 rCharts 在 rshiny 中实现交互式图表。我正在使用 morris 库这是我的问题的一个最小示例:

## ui.R
require(rCharts)
shinyUI(pageWithSidebar(
  headerPanel("rCharts: Interactive Charts from R using morris.js"),

  sidebarPanel(
  ),
  mainPanel(
    showOutput("myChart", "morris")
  )
))

require(rCharts)
shinyServer(function(input, output) {
  output$myChart <- renderChart({
    data(economics, package = 'ggplot2')
    econ <- transform(economics, date = as.character(date))
    m1 <- mPlot(x = 'date', y = c('psavert', 'uempmed'), type = 'Line',
                data = econ)
    m1$set(pointSize = 0, lineWidth = 1)
    m1$addParams(dom = 'myChart')
    m1$params$width = 200
    m1$params$height = 200
    return(m1)
  })
})

如果 m1 对象没有被发送到 shiny 但它们似乎在被renderChart. 我已经使用样式表进行了临时修复:

.shiny-html-output.morris{
  height: 200px;
  width: 200px;
}

有什么我缺少的选择吗?例如,plotOutputshiny包装中您可以规定:plotOutput("plot2", height = "260px")例如。

4

1 回答 1

5

这是当前将在未来添加到 rCharts 的功能。作为临时修复,我在样式表中添加了一个条目,以在我的应用程序上实现两个莫里斯图。将 www/ 文件夹添加到您的应用程序目录并创建一个styles.css文件。添加

 tags$head(
   tags$link(rel = 'stylesheet', type = 'text/css', href = 'styles.css')
 ),

ui.R和放置

.shiny-html-output.morris{
  height: 200px;
  width: 200px;
}

styles.css

于 2013-07-12T14:50:12.227 回答