r ggplot2:图例中不同的字体大小

时间:2015-01-11 11:58:30

标签: r ggplot2 gridextra

我的传奇中有两行。 如何制作一行粗体,蓝色和大字体以及一行小字体,红色和斜体字?

library(ggplot2)
library(gridExtra)
p <- qplot(data = mtcars, wt, mpg)
print(arrangeGrob(p, legend = 
  textGrob("large font size colour blue bold\n small font size colour red italic", 
           rot = -90, vjust = 1)))

感谢您的帮助。

2 个答案:

答案 0 :(得分:10)

您需要将文本拆分为两个textGrob

library(ggplot2)
library(gridExtra)
p <- qplot(data = mtcars, wt, mpg)
t1 <- textGrob("small font size colour red italic",
               gp = gpar(fontsize = 12, col = 'red', fontface = 'italic'), 
               rot = -90, vjust = 1)
t2 <- textGrob("large font size colour blue bold", 
               gp = gpar(fontsize = 20, col = 'blue', fontface = 'bold'), 
               rot = -90, vjust = 1)
print(arrangeGrob(p, t1, t2, widths = c(9/10, 1/20, 1/20), nrow = 1))

enter image description here

答案 1 :(得分:4)

使用expressionatop的解决方案:

p <- qplot(data = mtcars, wt, mpg)
print(arrangeGrob(p, legend=
      textGrob(expression(atop("large font size colour blue bold\n", atop(italic("small font size colour red italic")))),
      rot = -90, vjust = 1, gp=gpar(fontsize=16,fontface="bold"))))

enter image description here