본문 바로가기
  • "You can't manage what you can't measure" Peter Drucker
데이터 분석 (with Rstudio)

[Rstudio] 한 화면에 여러 개 복수 그래프 출력 (par, plot_grid)

by Vitaminymc 2023. 10. 15.
반응형

[한 화면에 복수 그래프를 출력하기 (par)]

par() 함수는 R에서 그래픽 파라미터를 설정하고 제어하기 위해 사용되는 함수

  • mfrow : 그래프를 출력할 그리드 레이아웃을 지정하는 데 사용, 두 개의 숫자, c(rows, columns)로 구성
# 그래픽 디바이스 설정
par(mfrow = c(1, 3))  # 1x3 서브플롯 생성

# 첫 번째 서브플롯
boxplot(penguins$bill_length_mm, col = "darkblue",
        main = "bill_length")

# 두 번째 서브플롯
boxplot(penguins$bill_depth_mm, col = "blue",
        main = "bill_depth")

# 세 번째 서브플롯
boxplot(penguins$body_mass_g, col = "skyblue",
        main = "bill_depth")

# 원래의 그래픽 디바이스로 돌아가기
par(mfrow = c(1, 1))

par(mfrow = c(1, 3))  # 첫 번째 서브플롯
par(mfrow = c(1, 3))  # 두 번째 서브플롯

 

par(mfrow = c(1, 3))  # 세 번째 서브플롯


[한 화면에 복수 그래프를 출력하기 (plot_grid)]

plot_grid는 cowplot 패키지에서 제공되는 함수로, 여러 그래프를 겹쳐서 하나의 그림으로 만들어주는 기능을 제공

  • plot_grid 함수를 사용하여 이 두 그래프를 동시에 생성
  • ncol 매개변수는 열의 수를 지정하며, labels 매개변수를 사용하여 각 그래프에 레이블을 추가
# 박스 플롯 그리기
plot1 <- ggplot(data = penguins, aes(x = species, y = body_mass_g, fill = species)) +
  geom_boxplot() +
  scale_fill_manual(values = group_colors) +
  labs(title = "Body_mass", x = "Species", y = "Body_mass(g)")

plot2 <- ggplot(data = penguins, aes(x = species, y = body_mass_g, fill = species)) +
  geom_boxplot(outlier.shape = "") +
  labs(title = "Body_mass", x = "Species", y = "Body_mass(g)")

# 두 그래프를 겹쳐서 표시
plot_grid(plot1, plot2, ncol = 2, labels = c("A", "B"))

 

plot_grid(plot1, plot2, ncol = 1, labels = c("A", "B"))

 

728x90