[r] ggplot의 패싯 수를 프로그래밍 방식으로 어떻게 알 수 있습니까?
아래는 코드와 그래프입니다.
그래프에는 세 가지 측면이 있습니다. the_plot
3 개의 패싯이있는 곳은 어디 입니까? 예, mtcars
데이터 프레임 에서 가져올 수 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
답변
gg_build ()-함수를 사용하여 ggplot 데이터에 액세스 할 수 있습니다
out <- ggplot_build(the_plot)
length(levels(out$data[[1]]$PANEL))
[1] 3
답변
다른 방법
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
reprex 패키지 (v0.3.0)로 2020-04-21에 작성