Wie kann ich die x , y- Koordinaten eines geom_point in einem ggplot erhalten , wobei der Referenzrahmen das gesamte geplottete Bild ist?
Ich kann ein ggplot mit einigen geom_point s erstellen mit:
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")
Das gibt:
Indem ich dies in einen Grob konvertiere , kann ich einige zusätzliche Informationen zu diesem ggplot extrahieren , wie z . B. die Koordinaten in Bezug auf das Plotfeld , die durch den violetten Pfeil markiert sind. Dies ignoriert jedoch den von den Achsen eingenommenen Raum.
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
Wie kann ich die Werte der x , y- Koordinaten abrufen , wenn ich mit der Messung in der unteren linken Ecke des gesamten Bildes beginne, die durch den grünen Pfeil markiert ist?
Wenn es möglich ist, möchte ich, dass die Lösung das Thema des ggplot berücksichtigt . Das Hinzufügen eines Themas wie + theme_void()
wirkt sich auf die Achsen aus und verschiebt auch die Position der Punkte in Bezug auf das gesamte geplottete Bild.
Update : Ich habe festgestellt, dass sich die Schriftgröße der Achsen abhängig von der Breite und Höhe des Plots ändert, was sich auf die relative Größe des Plotfelds auswirkt . So ist es nicht trivial sein wird , die Lage in bereitzustellen npc die Einheiten ohne zu definieren , Grundstück Breite und Grundstück Höhe . Wenn möglich, gibt die Lage der geom_points in Abhängigkeit von der Handlung Breite und Grundstück Höhe .