2016-05-23 1 views
2

Rshiny Appにカスタムフォントを組み込みたいと思います。私はコードがタグ$スタイルで行こうとしているが、これを含める実際のコードを持っていないことがあります。RShiny Appでカスタムフォントを使用する方法

例コード:

ui <- fluidPage(
     tags$style(), 
     column(12, 
       dataTableOutput("testtab") 
      ) # close column 
) #close fluidpage 

server <- function(input, output, session) { 
    output$testtab <- 
     DT::renderDataTable({ 
           tab <- data.frame(a = 1:10, b = 11:20, c = 21:30) 
           dat.tab <- datatable(tab) %>% formatPercentage('a', 0) %>% 
                  formatCurrency(1:ncol(tab), '$') 
           return(dat.tab) 
          }) # close renderDataTable 
} # close server 

shinyApp(ui=ui, server=server) 

例のために、のは、私はウェブ上でそこに任意のカスタムフォントを使用したいとしましょう。

+0

(小発言 - 念のためにあなたが素敵なパッケージがあることを知っていない場合は、[shinythemes](https://rstudio.github.io/shinythemes /)7つの素敵なテーマが含まれています) –

+0

@UnnamedUser、ありがとう。私は特定のカスタムフォントを使用したいと思う、それは私が変更したい唯一のものです。 –

+1

どのフォントですか?すでにインストールしているものと同じですか?また、どのようなシステムを使用していますか?フォントのものは、Windows/Mac/Linuxでは若干異なります。 –

答えて

3

これが役立ちます。

まずフォントをhttp://www.fontspace.com/gunarta/surabanglusからダウンロードし、ttfという拡張子のファイルをクリックしてインストールしてインストールする必要があります。ここでは、デフォルトのボディフォントを制御するためのタグと、「idタグ」を使用して特定のコントロールや背景色のフォントを制御するタグを追加しました。

別のCSSファイルなどを使用してこれを行うには他にも方法がありますが、これはすばやく簡単で、あまりにも汚いものではありません。

library(shiny) 
library(dplyr) 
library(DT) 

ui <- fluidPage(
    tags$style(HTML('body {font-family:"Times New Roman",Georgia,Serif; background-color:orange}')), 
    tags$style(HTML('#testtab {font-family:"surabanglus",Georgia,Serif; background-color:lightblue}')), 
    tags$style(HTML('#hello2 {font-family:"Courier",Georgia,Serif; background-color:pink}')), 
    column(12, 
     dataTableOutput("testtab"), 
     actionButton("hello1","Hello There (uses font inherited from body)"), 
     actionButton("hello2","Hello There again (uses Courier)") 

) # close column, 
) #close fluidpage 

server <- function(input, output, session) { 
    output$testtab <- DT::renderDataTable({ 
    tab <- data.frame(a = 1:10, b = 11:20, c = 21:30) 
    dat.tab <- datatable(tab) %>% formatPercentage('a', 0) %>% 
     formatCurrency(1:ncol(tab), '$') 
    return(dat.tab) 
    }) # close renderDataTable 
} # close server 

shinyApp(ui=ui, server=server) 

降伏この:

enter image description here

+0

これはうまく見えますが、上のコードをコピーすれば動作します。しかし、私は実際のフォントで自分のコンピュータ上で動作させることはできません。タグ$ style(HTML( '#body {font-family: "surabanglus"、Georgia、Serif}))、 タグ$ style(HTML('#body {タブ1 {font-family: "surabanglus"、Georgia、Serif} ')) ' –

+0

質問をして、短くて甘い答えを出すのが最善です。これはすでに成功した質問と回答でした。それについて正しいことを書いてください。みんなに興味があるだろうか。 –

関連する問題