2017-08-27 79 views
1

我試圖創建一個標題爲我的文字是大膽的圖形頁面。我使用的代碼如下,我設置fontface =大膽,但是這似乎並不奏效。 是否有別的地方我需要設置呢?TextGrob的R - fontface =大膽,但沒有大膽

t = textGrob(expression(underline("My Sample Header")),gp=gpar(fontfamily="serif",fontsize=16, fontface="bold",lineheight=1),vjust=.3,hjust=2.15) 
+2

你需要'表達式(粗體(下劃線( 「我的樣本頭」)))' –

回答

1

既然沒有人回答了這一點,你可以這樣做兩種方式:

方法1:使用表達式,但做expression(bold(underline(...))),如:

t = textGrob(expression(bold(underline("My Sample Header"))),gp=gpar(fontfamily="serif",fontsize=16, fontface="bold",lineheight=1),vjust=.3,hjust=1) 
grid.draw(t) 

方法2:寫將textGrob與一行(可能是更好的選項)相結合的包裝功能:

underlineText <- function(text, gpar, vjust, hjust){ 
    txt <- textGrob(text, gp=gpar, vjust = vjust, hjust = hjust) 
    undLine <- segmentsGrob(x0 = txt$x - grobWidth(txt), y0 = txt$y - unit(0.55, "grobheight", txt), x1 = txt$x, y1 = txt$y - unit(0.55, "grobheight", txt)) 
    gt <- grobTree(txt, undLine) 
} 

grid.draw(underlineText("My Sample Header", gpar(fontfamily="serif",fontsize=16, fontface="bold",lineheight=1), vjust = 0.3, hjust = 1))