ฉันจะบอกได้อย่างไรว่ามีหลายแง่มุมของ ggplot โดยทางโปรแกรม


13

ด้านล่างคือรหัสและกราฟ

กราฟมีสามแง่มุม the_plotฉันจะหาได้จากที่ไหนในสามแง่มุม? ใช่ฉันสามารถหาได้จากmtcarsdata frame หรือthe_plot$dataแต่ฉันไม่ต้องการสร้างการวิเคราะห์ข้อมูลขึ้นมาใหม่ แต่ฉันต้องการตรวจสอบองค์ประกอบกราฟิกของthe_plotดังนั้นฉันไม่ต้องทำซ้ำตรรกะของแอปพลิเคชันในหลาย ๆ ที่ the_plot$facetไม่แสดงสิ่งที่ฉันจำได้และไม่ทำตัวแปรพล็อตอื่น

ฉันใช้ tidyverse 1.3.0

library(tidyverse)
data(mtcars)
the_plot<-ggplot(mtcars, aes(mpg, disp, group=cyl)) + facet_wrap(~cyl) + geom_point()
the_plot

พล็อตเหลี่ยมเพชรพลอย


อาจggplot_build(the_plot)$layout$layoutมาจากstackoverflow.com/questions/44107119/…
MrFlick

เพิ่มรายละเอียดบางอย่างthe_plotไม่ใช่สิ่งที่คุณเห็นในพล็อต แต่เป็นคำอธิบายสิ่งที่คุณต้องการลงจุด (ข้อมูลการทำแผนที่ธีม ฯลฯ ) เมื่อคุณเขียนthe_plotในคอนโซลคุณกำลังโทรหาจริงๆprint(the_plot)ซึ่งจะเริ่มกระบวนการที่ตระหนักถึงตาชั่งจำนวนและตำแหน่งของ facets ฯลฯ จากนั้นให้กล่องผลลัพธ์บรรทัดและข้อความไปยังอุปกรณ์กราฟิก
MrGumble

คำตอบ:


12

คุณสามารถเข้าถึงข้อมูล ggplot ด้วยฟังก์ชัน gg_build () -

out <- ggplot_build(the_plot)

length(levels(out$data[[1]]$PANEL))
[1] 3


8

วิธีอื่น

library(ggplot2)
data(mtcars)
the_plot<-ggplot(mtcars, aes(mpg, disp, group=cyl)) + facet_wrap(~cyl) + geom_point()
pb <- ggplot_build(the_plot)
pb$layout$layout$PANEL
#> [1] 1 2 3
#> Levels: 1 2 3

สร้างเมื่อ 2020-04-21 โดยแพ็คเกจ reprex (v0.3.0)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.