减少sidebarPanel的未使用区域

时间:2013-12-11 12:10:05

标签: r shiny

如屏幕截图所示 - sidebarPanel仅使用其覆盖区域的约50%。如果我取出'fileInput'(它只能在空间可用的情况下水平扩展),这也不会改变。

enter image description here

UI代码完全是锅炉板,这就是为什么我认为发布它没有多大意义。即使我取出所有UI输入字段,效果也保持不变。事实上,sidebarPanel的宽度显然与其内容无关,但取决于固定的比率。

我想手动调整大小或侧边栏/主面板比率。我怎么能做到这一点?

2 个答案:

答案 0 :(得分:10)

这对我有用。将它放在shinyUI对象之外:

narrowSidebar <- HTML('<style>.span4 {min-width: 265px; max-width: 265px; }</style>')

并将其放在sidebarPanel的顶部:

tags$head(narrowSidebar), ...

您可以通过重复上述过程更改主面板,但将“span4”更改为“span8”。

了解发生了什么可能会有所帮助。默认的ShinyUI使用Bootstrap进行格式化。 Bootstrap使用12个单元的网格来布局内容。您可以使用“span#”让任何容器跨越大部分网格。

Shiny使用span4作为侧栏(4/12 =页面的1/3),8使用主面板(8/12 =页面的2/3)。

老实说,我认为它应该是3/9或2/12,但使用上述技巧并不是很难按照你想要的方式设计。

答案 1 :(得分:2)

我从何时开始都不知道,但sidebarPanelmainPanel现在还有一个额外的参数width。因此,您可以直接在通常的网格概念中调整面板大小。 (值1到12)