ฉันจะรับพิกัดx , yของgeom_pointในggplotโดยที่กรอบอ้างอิงเป็นภาพที่ถูกพล็อตทั้งหมดได้อย่างไร
ฉันสามารถสร้างggplotด้วยgeom_pointบางอย่างโดยใช้:
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")
สิ่งนี้ให้:
โดยการแปลงเป็นgrobฉันสามารถดึงข้อมูลเพิ่มเติมบางอย่างเกี่ยวกับggplotนี้เช่นพิกัดที่เกี่ยวกับแผงพล็อตซึ่งมีลูกศรสีม่วงทำเครื่องหมายไว้ อย่างไรก็ตามสิ่งนี้จะไม่สนใจพื้นที่ที่แกนนำมาใช้
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
ฉันจะรับค่าพิกัดx , y ได้อย่างไรเมื่อฉันเริ่มวัดจากมุมล่างซ้ายของภาพทั้งหมดทำเครื่องหมายโดยลูกศรสีเขียว
ถ้าเป็นไปได้ผมอยากวิธีการคำนึงถึงรูปแบบของggplot การเพิ่มธีมเช่น+ theme_void()
มีผลกับแกนและเลื่อนตำแหน่งของจุดด้วยความเคารพต่อภาพที่ถูกพล็อตทั้งหมด
ปรับปรุง : ฉันตระหนักว่าขนาดตัวอักษรของแกนมีการเปลี่ยนแปลงขึ้นอยู่กับความกว้างและความสูงของพล็อตที่มีผลต่อขนาดญาติของแผงพล็อต ดังนั้นมันจะไม่เป็นที่น่ารำคาญที่จะให้สถานที่ในNPCหน่วยโดยไม่ต้องกำหนดความกว้างของพล็อตและความสูงของพล็อต ถ้าเป็นไปได้ให้สถานที่ตั้งของgeom_pointsเป็นหน้าที่ของที่ความกว้างของพล็อตและความสูงของพล็อต