我正在构建一个小的Shiny应用程序,其中mainPanel
包含tabsetPanel
,其中一个选项卡是人力车rChart。如果我没有标签并且只显示rChart,一切都很好,但是当标签中包含rChart时,标签总是比图表短,强加滚动条。
我已经将以下代码缩写为elipses以专注于重要部分:
ui.R:
shinyUI(pageWithSidebar(
headerPanel("..."),
sidebarPanel(...),
mainPanel(
tabsetPanel(
tabPanel("Plot",
div(id = "myplot",
includeCSS("rickshaw.css"),
showOutput("plot", "rickshaw"))
),
tabPanel("Raw Data", tableOutput("table"))
)
)
)) # end shinyUI
server.R:
# some preprocessing up here
shinyServer(function(input, output) {
# generate checkbox options from preprocessed data
output$modelSelection <- renderUI({...})
# make the rickshaw rChart
output$plot <- renderChart2({
chart <- Rickshaw$new()
chart$layer(value ~ datetime, group = "variable", data = select.frame, type="area")
chart$set(width = 600,
height = 400,
slider = TRUE)
return(chart)
})
# make the raw output
output$table <- renderTable({...})
})
其中rickshaw.css
和renderChart2
来自this github bug以启用互动功能。
所以问题是虽然chart$set
中的高度起作用,但实际的标签总是略短,强制滚动条(slider=FALSE
时仍然如此)。
我在过去使用选项卡式ggplot时出现了类似的问题,通过将高度参数传递给plotOutput
来修复,这不是showOutput
的选项。
我发现these fixes显然适用于morris.js,但我无法正确调整它们。
还有其他人在人力车和标签式面板上取得了哪些成功?
我在rCharts_0.4.2
shiny_0.8.0
和R version 3.0.2 (2013-09-25)
答案 0 :(得分:2)
将高度设置为百分比,例如:
chart$set(width = 600
,height = "100%"
,slider = TRUE)
您可能还想对tabPanel
tabPanel("Plot",
div(id = "myplot", style = "display:inline;position:absolute"
,showOutput("plot", "rickshaw"))
),