Changer la couleur et la police du texte dans L'application brillante

j'utilise le code ci-dessous dans server.R pour afficher le texte dans le panneau principal. Cela fonctionne exactement comme cela devrait fonctionner.

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

Est-il possible de modifier la police et la couleur du texte?

24
demandé sur tinku 2014-06-05 03:16:53

4 réponses

vous pouvez utiliser CSS comme @jbaums indiqué

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) })
  }
))

normalement vous l'incluez dans un styles.css fichier mais il est montré en ligne ici pour être autonome. #text1 renvoie à L'élément DOM avec id=text1 et le contenu des accolades sont les styles.

27
répondu jdharrison 2014-06-05 00:46:21

si vous voulez seulement changer une certaine partie de la chaîne de retour, vous pouvez utiliser htmlOutput au lieu de textOutput

côté serveur juste retour

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

de cette façon, Shiny UI exécutera HTML.

26
répondu athlonshi 2016-11-09 21:09:18

ui.r:

span(textOuput("message"), style="color:red")

server.r:

output$message <- renderText({"This is some red text"})
15
répondu MikeP 2017-02-10 15:22:36

LA solution de @MikeP fonctionne aussi avec p(), fx p("some text", style = "color:red), donc vous pouvez aussi simplement envelopper cela dans un renderText() depuis le serveur si vous voulez l'afficher dynamiquement.

3
répondu Kasper Skytte Andersen 2018-02-23 09:16:53