web-dev-qa-db-fra.com

R: Comment puis-je annoter un ggplot avec une zone de texte?

Je cherche à ajouter une petite zone de texte blanche, avec du texte personnalisé dans le corps de mon tracé ggplot. Le texte que je veux ajouter est d'identifier une ligne horizontale que j'ajoute à l'intrigue.

  ggplot(cb_emp) +  
  geom_point(aes(x = grossunits, 
                 y = rate, 
                 color = as.factor(outlier))
                 , alpha = 1/4) +
  scale_color_discrete(name  ="Outcome",
                        breaks=c(0, 1),
                        labels=c("Not outlier", "Outlier")) +
  geom_hline(aes(yintercept = meancbrate)) + 
  geom_vline(aes(xintercept = meanac) +
  annotate("text", x = max(grossunits), y = meancbrate, label = "avg rate")  

Voici l'intrigue que j'obtiens:

enter image description here

Voici l'intrigue que je veux (ou quelque chose comme ça):

enter image description here

Veuillez me faire savoir s'il existe un moyen simple d'y parvenir.

J'apprécie beaucoup l'aide!

11
ChetanMV

Vous pouvez simplement passer à

annotate("label", x = max(grossunits), y = meancbrate, label = "avg rate") 

qui utilisera geom_label plutôt que geom_text et vous obtenez donc un rectangle autour de l'étiquette.

20
Richard Telford