更改使用图表生成的图形的高度属性以与r shiny一起使用

时间:2013-07-12 08:04:32

标签: r shiny rcharts

我正在使用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对象没有发送到闪亮,则高度和宽度组件可以正常工作,但在renderChart处理之后它们似乎被忽略了。我使用样式表进行了临时修复:

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

我缺少一些选择吗?例如,在plotOutput包中的shiny即可 例如:plotOutput("plot2", height = "260px")

1 个答案:

答案 0 :(得分:5)

这是目前将被添加到rCharts的功能。作为临时修复,我在样式表中添加了一个条目,以实现我的应用程序上的两个morris图。将www /文件夹添加到您的app目录并创建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

中的