Comment puis-je obtenir les coordonnées x , y d'un geom_point dans un ggplot , où le cadre de référence est la totalité de l'image tracée?
Je peux créer un ggplot avec quelques geom_point en utilisant:
library(ggplot2)
my.plot <- ggplot(data.frame(x = c(0, 0.456, 1), y = c(0, 0.123, 1))) +
geom_point(aes(x, y), color = "red")
Cela donne:
En convertissant cela en un grob , je peux extraire des informations supplémentaires sur ce ggplot , comme les coordonnées par rapport au panneau de tracé, marquées par la flèche violette. Cependant, cela ignore l'espace occupé par les axes.
my.grob <- ggplotGrob(my.plot)
my.grob$grobs[[6]]$children[[3]]$x
# [1] 0.0454545454545455native 0.46native 0.954545454545454native
my.grob$grobs[[6]]$children[[3]]$y
# [1] 0.0454545454545455native 0.157272727272727native 0.954545454545454native
Comment puis-je obtenir les valeurs des coordonnées x , y lorsque je commence à mesurer à partir du coin inférieur gauche de l'image entière, marquée par la flèche verte?
Si c'est possible, j'aimerais que la solution prenne en compte le thème du ggplot . L'ajout d'un thème comme + theme_void()
affecte les axes et décale également l'emplacement des points par rapport à l'ensemble de l'image tracée.
Mise à jour : j'ai réalisé que la taille de police des axes change en fonction de la largeur et de la hauteur du tracé, affectant la taille relative du panneau de tracé . Il ne sera donc pas trivial de fournir l'emplacement en unités npc sans définir la largeur et la hauteur du tracé . Si possible, indiquez l'emplacement des geom_points en fonction de la largeur et de la hauteur du tracé .