web-dev-qa-db-ja.com

Shiny Appでテキストの色とフォントを変更する

メインパネルにテキストを表示するために、server.Rの以下のコードを使用しています。これは正確に機能するはずです。

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

テキストのフォントと色を変更する方法はありますか?

29
Piyush

示されている@jbaumsとしてcssを使用できます

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ファイルに含めますが、ここでは自己完結型であることが示されています。 #text1id=text1を持つDOM要素を指し、中括弧の内容は関連するスタイルです。

36
jdharrison

返される文字列の特定の部分のみを変更する場合は、htmlOutputの代わりにtextOutputを使用できます

サーバー側で戻るだけ

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

このようにして、Shiny UIはHTMLを実行します。

29
athlonshi

ui.r

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

server.r

output$message <- renderText({"This is some red text"})
18
MikeP

@MikePによる解決策はp()、fx p("some text", style = "color:red)でも機能するため、表示したい場合はサーバーからrenderText()でラップすることもできます。動的に。