HOWTO · R

R에서 축 레이블 회전

이 튜토리얼은 R의 플롯에서 축 레이블을 회전하는 방법을 보여줍니다.

이 페이지의 내용

Base R과 ggplot2에는 R에서 축 레이블을 회전하는 다른 방법이 있습니다. 이 자습서에서는 R에서 축 레이블을 회전하는 방법을 보여줍니다.

Base R에서 눈금 레이블 회전

기본 R에서 축 레이블을 수평, 수직 또는 축에 수직인 방향으로 회전할 수 있습니다. 먼저 레이블을 회전할 플롯을 표시한 후 각 방법을 다음에서 설명합니다.
las 매개변수는 눈금 레이블의 방향을 제어하며 네 가지 값이 있습니다.

  • las = 0: 축과 평행(기본값).
  • las = 1: 레이블이 가로 방향.
  • las = 2: 레이블이 축에 수직.
  • las = 3: 레이블이 세로 방향.

예제 코드:

# Create example data
set.seed(99999)

xLabel <- rnorm(1000)
yLabel <- rnorm(1000)

# The Default Plot
plot(xLabel, yLabel)

출력:

기본 플롯

가로 눈금 레이블:

플롯에서 las=1을 전달하여 축 레이블을 수평으로 회전할 수 있습니다.

예제 코드:

# Create example Data
set.seed(99999)

xLabel <- rnorm(1000)
yLabel <- rnorm(1000)

# The Horizontal Axis Plot
plot(xLabel, yLabel, las=1)

위의 코드는 가로 축 레이블이 있는 플롯을 만듭니다.

출력:

수평 플롯

세로 눈금 레이블:

플롯에서 las=3을 전달하여 축 레이블을 수직으로 회전할 수 있습니다.

예제 코드:

# Create example Data
set.seed(99999)

xLabel <- rnorm(1000)
yLabel <- rnorm(1000)

# The Vertical Axis Plot
plot(xLabel, yLabel, las=3)

위의 코드는 세로 축 레이블이 있는 플롯을 만듭니다.

출력:

수직 플롯

축에 수직인 눈금 레이블:

플롯에서 las=2를 전달하여 축 레이블을 축에 수직으로 회전할 수 있습니다.

예제 코드:

# Create example Data
set.seed(99999)

xLabel <- rnorm(1000)
yLabel <- rnorm(1000)

# The Perpendicular Axis Plot
plot(xLabel, yLabel, las=2)

위의 코드는 축 레이블에 수직인 플롯을 만듭니다.

출력:

수직 축 플롯

las 값은 Base R의 모든 유형의 플롯에서 변경할 수 있습니다. 이 값은 눈금 레이블에 영향을 주며 축 제목은 변경하지 않습니다. 제목을 설정하려면 xlab = "Horizontal value" 또는 ylab = "Vertical value"와 같은 별도 인수를 사용합니다.

plot(xLabel, yLabel, las = 3,
     xlab = "Horizontal value", ylab = "Vertical value")

las 매개변수는 문서화된 네 가지 방향으로 제한됩니다. 임의의 각도가 필요하면 사용자 정의 텍스트 그리기 방법이나 다음 ggplot2 접근법을 사용합니다. las를 사용하는 axis()는 임의의 각도를 제공하지 않습니다.

ggplot2에서 눈금 레이블 회전

다음 구문을 사용하여 ggplot2에서 눈금 레이블을 회전할 수 있습니다. x축에는 axis.text.x, y축에는 axis.text.y를 사용하고 element_text()로 angle, hjust, vjust를 설정합니다.

plot + theme(axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1))

레이블은 45도 각도로 회전하고 vjust 및 hjust는 레이블 텍스트의 수직 및 수평 정렬을 제어합니다. ggplot2에서 축 레이블을 회전할 수 있는 플롯을 생성해 보겠습니다.

예제 코드:

# Create example Data
Delftstack <- data.frame(Designation=c('CEO', 'Project Manager', 'Senior Dev', 'Junior Dev', 'Intern'),
                         Id=c(101, 102, 103, 104, 105))

library(ggplot2)

ggplot(Delftstack, aes(x = Designation, y = Id)) +
  geom_col()

위의 코드는 주어진 데이터에서 기본 플롯을 생성합니다.

출력:

기본 ggplot2

ggplot2에서 눈금 레이블을 90도로 회전

ggplot2에서 축 레이블을 90도 회전하는 각도에 90 값을 지정할 수 있습니다.

예제 코드:

# Create example Data
Delftstack <- data.frame(Designation=c('CEO', 'Project Manager', 'Senior Dev', 'Junior Dev', 'Intern'),
                         Id=c(101, 102, 103, 104, 105))

ggplot(Delftstack, aes(x = Designation, y = Id)) +
  geom_col() +
  theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust = 1))

위의 코드는 x축 눈금 레이블이 90도 회전된 ggplot2 플롯을 생성합니다.

출력:

90도 Ggplot

ggplot2에서 눈금 레이블을 45도로 회전

ggplot2에서 축 레이블을 45도 회전하는 각도에 45 값을 지정할 수 있습니다.

예제 코드:

# Create example Data
Delftstack <- data.frame(Designation=c('CEO', 'Project Manager', 'Senior Dev', 'Junior Dev', 'Intern'),
                         Id=c(101, 102, 103, 104, 105))

ggplot(Delftstack, aes(x = Designation, y = Id)) +
  geom_col() +
  theme(axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1))

위의 코드는 x축 눈금 레이블이 45도 회전된 ggplot2 플롯을 생성합니다.

출력:

45도 Ggplot

y축 눈금 레이블을 회전하려면 테마 대상을 axis.text.y로 변경합니다. 대신 축 제목을 회전하려면 axis.title.x 또는 axis.title.y를 사용합니다. 예를 들어 theme(axis.title.x = element_text(angle = 15))는 눈금 레이블 텍스트가 아니라 제목을 대상으로 합니다.

각도와 정렬 선택

범주 이름이 길거나 겹치면 먼저 90도를 사용합니다. 레이블이 대각선으로 들어갈 때는 45도를 시도하고, 텍스트가 축에서 너무 멀어 보이면 hjust와 vjust를 조정합니다. 적절한 값은 플롯 크기, 글꼴, 그래픽 장치에 따라 달라지므로 최종 크기로 출력을 확인합니다. 회전은 텍스트 방향을 바꾸지만 좁은 플롯 영역에 자동으로 공간을 추가하지는 않습니다. Base R 예제는 표준 graphics 패키지만 사용하며, ggplot2 예제에는 ggplot2 패키지와 플롯을 렌더링할 그래픽 장치가 필요합니다. 패키지를 사용할 수 없다면 예제를 다른 플로팅 시스템으로 바꾸지 말고 프로젝트 환경 정책에 따라 설치하세요.