Mise en forme du texte dans l'annotation de ggplot
Aug 23 2020
Est-il possible d'annoter avec du code html? J'essaye de colorer seulement quelques mots et non le texte entier.
library(tidyverse)
#> Warning: package 'ggplot2' was built under R version 4.0.2
mtcars %>%
ggplot(aes(x = hp, y = mpg)) +
geom_point() +
annotate(geom = "text", label = "I'm <span style='color: red;'>red</span> \n and i'm <span style='color: orange;'>orange</span>",
x = 250, y = 25)
Créé le 2020-08-22 par le package reprex (v0.3.0)
Réponses
5 PedroAphalo Aug 23 2020 at 02:36
Vous pouvez utiliser le package 'ggtext'. C'est assez nouveau. Le seul changement nécessaire pour votre exemple est de remplacer le geom: using "richtext"au lieu de "text".
library(tidyverse)
library(ggtext)
#> Warning: package 'ggplot2' was built under R version 4.0.2
mtcars %>%
ggplot(aes(x = hp, y = mpg)) +
geom_point() +
annotate(geom = "richtext", label = "I'm <span style='color: red;'>red</span> \n and i'm <span style='color: orange;'>orange</span>",
x = 250, y = 25)
Il est possible d'utiliser fill = NApour supprimer l'arrière-plan. Pour supprimer la ligne de bordure label.color = NApeut être utilisée.
library(tidyverse)
library(ggtext)
mtcars %>%
ggplot(aes(x = hp, y = mpg)) +
geom_point() +
annotate(geom = "richtext", label = "I'm <span style='color: red;'>red</span>\n and i'm <span style='color: orange;'>orange</span>",
x = 250, y = 25, fill = NA, label.color = NA)