R에서 나란히 상자 그림 만들기

Jinku Hu 2024년2월15일
  1. par함수를 사용하여 R에서 나란히 상자 그림 만들기
  2. grid.arrange함수를 사용하여 R에서 나란히 상자 그림 만들기
R에서 나란히 상자 그림 만들기

이 기사에서는 R에서 나란히 상자 그림을 만드는 방법을 소개합니다.

par함수를 사용하여 R에서 나란히 상자 그림 만들기

par기능을 사용하여 그래픽 매개 변수를 설정할 수 있습니다. 인수없이 함수를 호출하거나no.readonly = TRUE를 호출하면 모든 그래픽 매개 변수가 검색됩니다. 이 경우mfrow매개 변수를 사용하여 나란히있는 상자 그림을 구성합니다. mfrowc(nr, nc)벡터로 전달되고 후속 플롯은nr x nc배열로 그려집니다. 다음 예제 코드는InsectSprays데이터 세트에서 두 개의 상자 그림을 생성합니다. 여기서countspray열이 그에 따라 그려집니다. boxplot기능에 대한 심층 검토는이 기사의 범위를 벗어나지 만col인수를 사용하여 상자 본체의 색상을 지정합니다. 마지막par(mfrow=c(1,1))함수 호출이 레이아웃을 기본 설정으로 재설정하는 데 사용됩니다.

par(mfrow=c(1,2))
boxplot(count ~ spray, data = InsectSprays, col = "pink")
boxplot(count ~ spray, data = InsectSprays, col = "yellow")
par(mfrow=c(1,1))

나란히 상자 그림 r 1

grid.arrange함수를 사용하여 R에서 나란히 상자 그림 만들기

또는gridExtra패키지의grid.arrange함수를 사용할 수 있습니다. grid.arrangepar함수와 유사하게 작동합니다. 그래도 여러 플롯, 특히ggplot객체를 사용하면 더 유연하고 직관적입니다. grid.arrange는 가변 길이ggplot객체를 시작 인수로 사용합니다. 그런 다음, 선택적 인수, 즉 플롯을 위해 생성해야하는 열 수를 나타내는ncol매개 변수를 지정할 수 있습니다. 다음 코드 조각은 두 개의 나란한 상자 그림을 그립니다.

library(ggplot2)
library(gridExtra)

plot1 <- ggplot(InsectSprays, aes(x = spray, y = count)) + geom_boxplot(fill = "pink")
plot2 <- ggplot(InsectSprays, aes(x = spray, y = count)) + geom_boxplot(fill = "yellow")
grid.arrange(plot1, plot2, ncol = 2)

나란히 상자 그림 r 2

grid.arrangenrowncol 매개 변수를 모두 사용하여 지정된 2 차원 분할 창을 만들 수도 있습니다. ggplot 객체는 목록으로 결합 될 수 있으며grobs = list(...)인수의 형식으로 전달 될 수 있습니다. 다음 예제에서는 2x2 행렬 스타일로 4 개의 상자 그림을 출력합니다.

library(ggplot2)
library(gridExtra)

plot1 <- ggplot(InsectSprays, aes(x = spray, y = count)) + geom_boxplot(fill = "pink")
plot2 <- ggplot(InsectSprays, aes(x = spray, y = count)) + geom_boxplot(fill = "yellow")
plot3 <- ggplot(InsectSprays, aes(x = spray, y = count)) + geom_boxplot(fill = "orange")
plot4 <- ggplot(InsectSprays, aes(x = spray, y = count)) + geom_boxplot(fill = "cyan")
grid.arrange(plot1, plot2, plot3, plot4, nrow = 2, ncol = 2)

나란히 상자 그림 r 3

grid.arrange함수에 대한 또 다른 유용한 매개 변수는 결합 된 벡터로 지정된 사용자 정의 구조에 각 플롯을 배치하는layout_matrix입니다. 이 예제는 비대칭 창 구조로 구성된 세 가지 다른 플롯 객체를 정의합니다 (위에 두 개의 플롯, 아래에 하나). rbind의 벡터 수는 창 행에 해당하며 각 객체의 요소는 주어진 창 행이 분할되어야하는 부분의 수를 지정합니다. 한편, 숫자는 동일한 순서로 인수 플롯에 해당합니다. 두 번째 행의 모든 ​​분할 창을 세 번째 플롯이 차지해야하는 경우 두 번째 벡터의 모든 요소는 값-3을 가져야합니다.

library(ggplot2)
library(gridExtra)

plot1 <- ggplot(InsectSprays, aes(x = spray, y = count)) + geom_boxplot(fill = "pink")
plot2 <- ggplot(mtcars, aes(x = mpg)) + geom_histogram(fill = "yellow", bins = 30)
plot3 <- ggplot(mtcars, aes(x = wt, y = mpg)) + geom_point(fill = "orange")

grid.arrange(plot1, plot2, plot3, widths = c(2, 2, 1),
    layout_matrix = rbind(c(1, 2, 2), c(3, 3, 3)))

나란히 상자 그림 r 4

작가: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook

관련 문장 - R Plot