Reputation: 1651
I am using below code in server.R
to display the text in the main panel. This is working exactly the way it should work.
output$text1 <- renderText({
if(input$ag == 0) return(NULL)
return('First 20 rows for requested AG')
})
Is there any way to change the font and color of the text?
Upvotes: 56
Views: 126660
Reputation: 621
The solution by @MikeP also works with p()
, fx p("some text", style = "color:red")
, so you can also just wrap that in a renderText()
from the server if you want to display it dynamically.
Upvotes: 18
Reputation: 811
in ui.r
:
span(textOutput("message"), style="color:red")
in server.r
:
output$message <- renderText({"This is some red text"})
Upvotes: 67
Reputation: 1821
If only want to change a certain part of the returning string, one can use htmlOutput
instead of textOutput
On server side just return
output$text1 <- renderText({ paste("hello input is","<font color=\"#FF0000\"><b>", input$n, "</b></font>") })
In this way, Shiny UI will perform HTML.
Upvotes: 49
Reputation: 30425
You can use css as @jbaums indicated
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) })
}
))
Normally you would include this in a styles.css
file but it is shown inline here to be self contained. #text1
refers to the DOM element with id=text1
and the contents of the curly brackets are the relevant styles.
Upvotes: 63