TextGrob R - fontface=bold 但没有粗体
TextGrob R - fontface=bold but no bold
我正在尝试为我的图形页面创建一个 header,文本为粗体。我正在使用的代码如下,我设置了 fontface=bold 但这似乎不起作用。
还有其他地方我需要设置吗?
t = textGrob(expression(underline("My Sample Header")),gp=gpar(fontfamily="serif",fontsize=16, fontface="bold",lineheight=1),vjust=.3,hjust=2.15)
由于没有人回答这个问题,您可以通过两种方式进行:
方法 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))
我正在尝试为我的图形页面创建一个 header,文本为粗体。我正在使用的代码如下,我设置了 fontface=bold 但这似乎不起作用。 还有其他地方我需要设置吗?
t = textGrob(expression(underline("My Sample Header")),gp=gpar(fontfamily="serif",fontsize=16, fontface="bold",lineheight=1),vjust=.3,hjust=2.15)
由于没有人回答这个问题,您可以通过两种方式进行:
方法 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))