In shiny, I have the following:
output$sequenceText <- renderText({ showSequence() }) showSequence <- reactive({ selectedSeqs <- as.numeric(input$sequenceSelect) resultString <- "" currentString <-"" for(i in selectedSeqs){ currentString <- paste(i, toString(myProts[i]), sep = ":") resultString <- paste(resultString, currentString, sep = "\n") } return(resultString) })
However, it doesn't seem that the new line character is respected. How do I fix that?
Thanks!
To my knowledge, there are only two options to display multiple lines within shiny. One way with using verbatimTextOutput
which will provide a gray box around you text (personal preference). The other is to use renderUI
and htmlOutput
to use raw html. Here is a basic working example to demonstrate the results.
require(shiny) runApp( list( ui = pageWithSidebar( headerPanel("multi-line test"), sidebarPanel( p("Demo Page.") ), mainPanel( verbatimTextOutput("text"), htmlOutput("text2") ) ), server = function(input, output){ output$text <- renderText({ paste("hello", "world", sep="\n") }) output$text2 <- renderUI({ HTML(paste("hello", "world", sep="<br/>")) }) } ) )
This yields the following figure:
How about
output$text2 <- renderUI({ HTML('hello <br> world') })
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With