在Shiny App中更改文本的颜色和字体

时间:2014-06-04 23:16:54

标签: r fonts styles shiny

我在server.R中使用下面的代码来显示主面板中的文字。这正是它应该工作的方式。

output$text1 <- renderText({
  if(input$ag == 0) return(NULL)
  return('First 20 rows for requested AG')
})

有没有办法改变文字的字体和颜色?

4 个答案:

答案 0 :(得分:34)

您可以将css用作@jbaums指示

library(shiny)
runApp(list(
  ui = bootstrapPage(
    numericInput('n', 'Number of obs', 100),
    textOutput('text1'),
    tags$head(tags$style("#text1{color: red;
                                 font-size: 20px;
                                 font-style: italic;
                                 }"
                         )
              )
  ),
  server = function(input, output) {
    output$text1 <- renderText({ paste("hello input is",input$n) })
  }
))

通常,您会将其包含在styles.css文件中,但此处显示为自包含内联。 #text1引用带有id=text1的DOM元素,大括号的内容是相关的样式。

答案 1 :(得分:28)

如果只想更改返回字符串的某个部分,可以使用htmlOutput代替textOutput

在服务器端,只需返回

output$text1 <- renderText({ paste("hello input is","<font color=\"#FF0000\"><b>", input$n, "</b></font>") })

通过这种方式,Shiny UI将执行HTML。

答案 2 :(得分:18)

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <input type="text" id="buscador" /> <table id="tablaproyectos1" style="border: 2px solid blue;"> <tbody> <tr> <td>Esto es una prueba de celda</td> </tr> <tr> <td>Texto de relleno</td> </tr> <tr> <td>Otra celda de prueba</td> </tr> <tr> <td>Suficiente para comprobar el buscador</td> </tr> </tbody> </table>中的

ui.r
span(textOutput("message"), style="color:red") 中的

server.r

答案 3 :(得分:6)

@MikeP的解决方案也适用于p(),fx p("some text", style = "color:red),因此如果要动态显示它,也可以将其从服务器中包装到renderText()。< / p>