J'utilise le code ci-dessous dans server.R
pour afficher le texte dans le panneau principal. Cela fonctionne exactement comme il devrait fonctionner.
output$text1 <- renderText({
if(input$ag == 0) return(NULL)
return('First 20 rows for requested AG')
})
Existe-t-il un moyen de modifier la police et la couleur du texte?
Vous pouvez utiliser css comme @jbaums l'a 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 devez l'inclure dans un styles.css
fichier mais il est montré ici en ligne pour être autonome. #text1
fait référence à l'élément DOM avec id=text1
et le contenu des accolades sont les styles appropriés.
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, revenez
output$text1 <- renderText({ paste("hello input is","<font color=\"#FF0000\"><b>", input$n, "</b></font>") })
De cette façon, Shiny UI exécutera le HTML.
dans ui.r
:
span(textOutput("message"), style="color:red")
dans server.r
:
output$message <- renderText({"This is some red text"})
La solution de @MikeP fonctionne également avec p()
, fx p("some text", style = "color:red)
, vous pouvez donc simplement envelopper cela dans une renderText()
du serveur si vous souhaitez l'afficher dynamiquement.