相关疑难解决方法(0)

R闪亮的mainPanel显示风格和字体

我正在学习闪亮的应用程序,并且有一些关于调整布局的基本问题,特别是样式和字体.我很感激指针或明确的答案,谢谢!

考虑一个基本的输入输出应用程序:用户在sidebarPanel中输入数据,并在mainPanel中反应性地输出结果.

在此输入图像描述

  1. 我怎样才能将mainPanel中的输出表格式化为更像sidebarPanel?说一个大小相同的矩形,带有彩色背景(可能是另一种颜色),数据出现在相似大小的盒子里.

  2. 如何控制面板内的字体类型,字体大小和字体大小?

正如您从代码中看到的那样(参见下面几行的runGist详细信息),我已成功自定义sidebarPanel中numericInput框的大小,但我无法控制字体样式(是我的标记$样式代码放错了地方?).

更重要的是出于审美目的,我无法弄清楚如何格式化mainPanel使其看起来像sidebarPanel.大多数情况下,我从闪亮的网站上修改了一些例子,但显然我错过了一些重要的事情.

编辑1:遵循Scott Chamberlain的建议,我在github上复制了server.R和ui.R文件:

library("shiny") 
runGist("gist.github.com/annoporci/7313856") 
Run Code Online (Sandbox Code Playgroud)

编辑2:Scott建议使用Chrome/Firefox"Inspect Element"(右键单击html页面的主体,其他浏览器可能具有相同的功能).以下是截图:

检查元素

在此输入图像描述

Scott建议使用"Inspect Element"工具证明非常有成效.

这是我学到的东西(如果我没弄错的话):

  • container-fluidrow-fluid控制整个容器.
  • span12 控制 headerPanel
  • span4 控制 sidebarPanel
  • span8 控制 mainPanel
  • shiny-bound-input 是输入端
  • shiny-bound-outputshiny-html-output(两者似乎都有效)用于输出端

基于这些发现,我将HTML样式放在mainPanel中,因为它看起来像是一个显而易见的地方,但它似乎也在sidebarPanel内部工作.将它直接放在pageWithSidebar()中会更直观(对我来说),但这不起作用.

这是编辑过的闪亮:

runGist("https://gist.github.com/annoporci/7346772")
Run Code Online (Sandbox Code Playgroud)

以下是HTML样式:

  HTML('<style type="text/css">
    .row-fluid { width: 50%; }  
    .well { background-color: #99CCFF; }
    .shiny-html-output { font-size: 20px; line-height: 21px; }
  </style>')
Run Code Online (Sandbox Code Playgroud)

我选择了50%的整体容器宽度,以保持小.

我为sidebarPanel和mainPanel选择了相同的颜色.

我为输出选择了一个更大的字体,这在这里并不漂亮但在我的真实应用程序中有意义.此外,我正在尝试更多的东西.

我选择了21px的行高而不是默认的20px,只是为了将输出框的高度调整为与输入框相同.再次,一个实验.

我也改变了server.R中的显示风格

output$myResults <- renderText({
  r <- myFunction(input$myinput)
  c("My Output:","<br><br>",r)
})
Run Code Online (Sandbox Code Playgroud)

这是因为我希望将结果显示在"我的输出"字样下方.通过反复试验,我发现我能挤进一个向量的字符串c()<br><br>作为分隔符来强制换行.如果这是推荐的方法,我会感到震惊,所以如果你知道这样做的正确方法,请加入.

后续问题不太重要: …

r shiny

20
推荐指数
1
解决办法
2万
查看次数

R Shiny:你如何改变标题的背景颜色?

我正在写一个闪亮的应用程序,我想自定义标题的外观.我能够添加图像和格式化文本,但我想要做的是更改背景颜色,但仅适用于标题面板,而不是ui的其余部分.到目前为止,我有这个

ui.r:

shinyUI(pageWithSidebar(

headerPanel(
list(tags$head(tags$style("body {background-color: black; }")),
"Graphs", HTML('<img src="ah_large_black.gif", height="200px"    
style="float:right"/>','<p style="color:red"> test test </p>' ))
),
Run Code Online (Sandbox Code Playgroud)

这有两种不同颜色的文本,并在右侧放置图像,但它使所有东西的背景颜色变黑.有没有办法将颜色限制为标题?

r shiny

10
推荐指数
1
解决办法
1万
查看次数

在 Shiny 中对输入小部件进行分组

我正在构建一个闪亮的应用程序,我希望能够对输入小部件进行分组,最好为每个组都有一个标题。例如,我想要一个用于“裤子尺码”的框,其中包含腰部下拉菜单和内缝下拉菜单,然后是另一个用于“T 恤尺码”的框,其中包含 XS/S/ 下拉菜单M/L/XL 和男女通用/女式单选按钮。

有没有办法将小部件集放入自己的盒子中,或者打破它们全部放入的标准灰盒子?

谢谢!

layout user-interface r shiny

2
推荐指数
1
解决办法
4376
查看次数

标签 统计

r ×3

shiny ×3

layout ×1

user-interface ×1