2015-01-11 13 views
6

Ich habe zwei Zeilen in meiner Legende. Wie kann ich eine Zeile fett, Farbe blau und große Schrift und eine Zeile mit kleinen Schriftarten, Farbe rot und in Kursivschrift machen?r ggplot2: verschiedene Schriftgrößen in der Legende

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

Vielen Dank für Ihre Hilfe.

Antwort

10

Sie müssen Ihren Text in zwei textGrob s aufgeteilt:

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

Eine Lösung mit expression und atop: Farbe geändert

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 benötigt, auch. – hrbrmstr

+0

@hrbrmstr Sorry, das habe ich verpasst. Ich denke, dass das Hinzufügen verschiedener Farben in meiner Lösung nicht möglich ist. – Jaap

Verwandte Themen