web-dev-qa-db-fra.com

Utilisation de différents styles de police dans annoter (ggplot2)

J'utilise le code ci-dessous pour générer un graphique simple avec quelques annotations:

require(ggplot2); data(mtcars)
ggplot(mtcars, aes(x = wt, y = mpg)) + 
  geom_point() +
  annotate("text", x = 4, y = 25, label = "This should be bold\nand this not",
           colour = "red") +
  geom_vline(xintercept = 3.2, colour = "red")

Simple plot

Sur ce graphique, je voudrais appliquer la police en gras à la première partie de la phrase dans l'annotation de texte:

Cela devrait être audacieux

mais je souhaite que la partie restante du texte reste inchangée en ce qui concerne la police et le style.

22
Konrad

Que diriez-vous d'utiliser la syntaxe plotmath avec parse = TRUE:

ggplot(mtcars, aes(x = wt, y = mpg)) + 
    geom_point() +
    annotate("text", x = 4, y = 25, 
            label = 'atop(bold("This should be bold"),"this should not")',
            colour = "red", parse = TRUE) +
    geom_vline(xintercept = 3.2, colour = "red")

enter image description here

20
aosmith

Si vous n'avez pas de problème à le diviser en deux annotations, vous pouvez simplement faire:

annotate("text", x = 4, y = 25, label = "This should be bold",
       colour = "red", fontface =2)+
annotate("text", x = 4, y = 24, label = "and this not",
       colour = "red")
30
Rottmann