Làm cách nào tôi có thể lấy tọa độ x , y của geom_point trong ggplot , trong đó khung tham chiếu là toàn bộ hình ảnh được vẽ?
Tôi có thể tạo một ggplot với một số geom_point bằng cách sử dụng:
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")
Điều này mang lại:
Bằng cách chuyển đổi nó thành một grob , tôi có thể trích xuất một số thông tin bổ sung về ggplot này , như tọa độ đối với bảng điều khiển cốt truyện, được đánh dấu bằng mũi tên màu tím. Tuy nhiên, điều này bỏ qua không gian được đưa lên bởi các trục.
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
Làm cách nào tôi có thể nhận được các giá trị của tọa độ x , y khi tôi bắt đầu đo từ góc dưới bên trái của toàn bộ hình ảnh, được đánh dấu bằng mũi tên màu lục?
Nếu có thể, tôi muốn giải pháp tính đến chủ đề của ggplot . Thêm một chủ đề như + theme_void()
ảnh hưởng đến các trục và cũng thay đổi vị trí của các điểm đối với toàn bộ hình ảnh được vẽ.
Cập nhật : Tôi nhận ra rằng kích thước phông chữ của các trục thay đổi tùy thuộc vào chiều rộng và chiều cao của ô, ảnh hưởng đến kích thước tương đối của bảng vẽ . Vì vậy, sẽ không tầm thường khi cung cấp vị trí theo đơn vị npc mà không xác định chiều rộng lô và chiều cao lô . Nếu có thể, đưa ra vị trí của geom_point là một hàm của chiều rộng lô và chiều cao lô .