4 votes

Symboles de légende pour les symboles webdings dans les graphiques ggplot2

J'ai consulté un certain nombre d'articles utiles de l'OS pour m'aider à placer des symboles de triangle orientés vers la droite et vers la gauche sur ma parcelle. Je voulais indiquer le début de la collecte des données, et la fin de la collecte des données. La police Webdings comporte de jolis symboles d'aiguille qui font l'affaire :

library(ggplot2)
mydata <- data.frame(x = c(1, 2, 5, 6),
                     y = c(4, 4, 4, 4), 
                     type = c("start", "end", "start", "end"),
                     symbols = c(4, 3, 4, 3))
ggplot() +
geom_text(data = mydata, aes(x, y, label = symbols),
          size = 8, family = "Webdings")

enter image description here

Cependant, je voudrais étiqueter les symboles dans ma légende comme "début" et "fin". Existe-t-il un moyen de faire cela facilement ?

Je pourrais essayer de faire les triangles en utilisant geom_point au lieu de geom_text Mais je ne sais pas comment indiquer à mon graphe que les symboles doivent être interprétés comme des Webdings et non comme du texte normal.

ggplot() +
  geom_point(data = mydata, aes(x, y, shape = type), size = 8) +
  scale_shape_manual(values = as.character(mydata$symbols))

enter image description here

Ce que je veux :

enter image description here

1voto

Nova Points 1100

L'astuce de @Pedro Aphalo m'a aidé à résoudre ce problème - heureusement que la police Arial a des symboles de pointeur gauche et droit !

Je suis toujours intéressé par la question initiale (pour d'autres symboles), mais cette solution répond à mes besoins particuliers. Merci, Pedro !

ggplot() +
  geom_point(data = mydata, aes(x, y, shape = type), size = 8) +
  scale_shape_manual(values=c("\u25C4","\u25BA")) 

enter image description here

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X