2015-01-11 80 views
6

我在我的圖例中有兩行。 如何讓一行粗體,藍色和大字體以及一行小字體,紅色和斜體?r ggplot2:在圖例中改變字體大小

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))) 

謝謝你的幫助。

回答

10

您需要將文字分成兩個textGrob S:

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

4

使用expressionatop A液:

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

+0

OP需要的顏色改變,太。 – hrbrmstr

+0

@hrbrmstr對不起,我錯過了。我認爲在我的解決方案中添加不同的顏色是不可能的。 – Jaap

相關問題