1

我正在使用 ggplot/R 生成报告,并希望对文本格式进行更细粒度的控制。

编写一些文本、应用全局格式参数并输出到与网格图形兼容的对象是微不足道的 - 只需使用textGrob

t <- textGrob(
  label = "SOME TEXT"
 ,gp=gpar(fontsize=20, col="grey")
)

print(arrangeGrob(t))

问题是这些格式选项仅适用于整个文本字符串。我正在寻找的是能够提供基本内联格式选项(字体大小、粗体、斜体等)的东西——最好是像 Markdown/CSS/HTML 这样的轻量级的东西。如果我必须学习 LaTeX,那就这样吧,但这对于我在这里想要完成的事情来说似乎有点过头了。

有什么想法吗?

4

1 回答 1

1

您可以在 的功能旁边使用“文本光标”grid来查询grobs。假设您有以下短语:“我希望此文本为粗体!!!!!!!,并且您希望感叹号为红色:

grid.text("I want ", 
          name="notboldtext",
          hjust=0)  

text.cursor<-convertWidth(grobWidth("notboldtext") # Adds textGrob width & to location
              + unit(.5, "npc"), "npc")           

grid.text("this text bold",
          x=text.cursor, 
          gp=gpar(fontface="bold"),
          name="boldedtext",
          hjust=0)


text.cursor<- text.cursor + convertWidth(grobWidth("boldedtext"), "npc")

grid.text("!!!!!!!", 
          gp=gpar(col="red"),
          x=text.cursor,
          name="maptextnat", 
          hjust=0)
于 2013-09-19T17:39:21.440 回答