HOWTO · R
R의 ylim() 및 xlim()
이 튜토리얼에서는 데이터 시각화에서 축 제한을 설정하기 위해 R에서 ylim()과 xlim()을 효과적으로 사용하는 방법을 살펴봅니다. 명확한 예제와 자세한 설명을 통해 그래프를 개선하는 방법을 배워 보세요. 주요 데이터 추세를 강조하고 시각적 스토리텔링 능력을 향상시키기 위해 축 제한을 제어하는 것이 왜 중요한지 알아봅니다.
이 페이지의 내용
R 기본 그래픽에서는 세로축 범위를 ylim으로, 가로축 범위를 xlim으로 설정합니다. 두 인수 중 하나 또는 둘 다를 하한과 상한의 쌍으로 plot() 같은 플로팅 함수에 전달합니다. 아래 예제는 하나의 산점도에서 두 제한을 모두 보여 주며, 이어서 각 축을 조정하는 방법과 ggplot2에 대한 안내가 나옵니다.
ylim()과 xlim()이란 무엇인가요?
기본 R 플롯에서 축 제한을 설정한다는 것은 plot() 같은 플로팅 함수에 가로축에는 xlim을, 세로축에는 ylim을, 또는 둘 다를 전달한다는 의미입니다. 각 인수는 하한과 상한을 담은 숫자형 벡터를 받습니다. 이 완전한 예제는 같은 데이터를 사용해 두 제한을 함께 보여 줍니다:
x <- 1:10
y <- c(2, 3, 5, 7, 11, 13, 17, 19, 23, 29)
# Set both visible axis ranges in a base R scatter plot.
plot(x, y, xlim = c(2, 8), ylim = c(0, 30),
xaxs = "i", yaxs = "i",
main = "Selected ranges for x and y")
xlim과 ylim 인수는 요청된 범위를 제공합니다. 기본 그래픽은 보통 축의 각 끝에 작은 확장을 추가합니다. xaxs = "i"와 yaxs = "i"는 이 여백을 끄므로, 이 예제는 제공된 경계인 2부터 8까지, 그리고 0부터 30까지를 그대로 표시합니다. x 값이 1, 9, 10인 점들은 표시된 가로 범위의 바깥에 있습니다. 이 코드는 R에 포함된 기본 그래픽을 사용하며 추가 패키지가 필요하지 않습니다. 이 예제는 성공적으로 실행되며 표준 출력이나 표준 오류에 텍스트를 출력하지 않습니다.
R 기본 그래픽에서 ylim과 xlim은 플로팅되는 y축과 x축의 범위를 선택할 수 있게 해 주는 인수입니다. 이 옵션들을 논의할 때는 이름이 흔히 ylim()과 xlim()으로 쓰이지만, plot() 호출에서는 ylim = c(0, 30)처럼 이름 있는 인수에 경계를 제공합니다. 첫 번째 숫자가 하한이고 두 번째 숫자가 상한입니다. R은 보통 제공된 데이터에서 범위를 선택합니다. 명시적인 제한은 여러 플롯에 걸쳐 일관된 척도를 원하거나 특정 구간에 주의를 집중시키고 싶을 때 유용합니다.
이 인수들은 plot() 같은 기본 그래픽 함수의 일부입니다. 모든 R 플로팅 시스템이 공유하는 보편적인 매개변수는 아닙니다. 특히 ggplot2는 아래에서 설명하는 다른 인터페이스를 사용합니다.
ylim()으로 Y축 제한 설정하기
세로 범위를 설정하려면 ylim 인수를 사용합니다. 예를 들어 plot(x, y, ylim = c(0, 30))은 y축 제한으로 0과 30을 제공하면서, x축 범위는 x 데이터에서 선택되도록 둡니다. 기본 yaxs = "r" 스타일에서는 기본 그래픽이 표시되는 범위에 여백을 추가합니다. 축이 제공된 경계를 정확히 표시해야 할 때는 yaxs = "i"를 추가합니다. 경계는 플로팅되는 y 값과 같은 단위를 사용해야 합니다. 더 넓은 범위는 레이블을 위한 공간을 남기거나 여러 플롯을 비교 가능하게 만들 수 있고, 더 좁은 범위는 선택한 구간 안의 변동을 더 쉽게 볼 수 있게 합니다.
기본 그래픽에서는 선택한 플로팅 영역 밖에 있는 점이나 그래픽 객체의 일부가 그 영역에 보이지 않습니다. 데이터와 독자가 해야 할 비교를 염두에 두고 제한을 선택합니다. 일부 관측값이 그 범위를 벗어나 있어도 플롯은 요청된 축 범위로 그려질 수 있으므로, 보이는 패널을 전체 데이터 범위로 착각해서는 안 됩니다.
xlim()으로 X축 제한 설정하기
xlim 인수는 가로 범위를 제어합니다. 예를 들어 plot(x, y, xlim = c(2, 8))은 x축 제한으로 2와 8을 제공하며, plot()은 y 데이터에서 y축 범위를 선택합니다. 기본 xaxs = "r" 스타일은 표시되는 범위에 여백을 추가합니다. 제공된 경계를 정확히 표시하려면 xaxs = "i"를 사용합니다. 이는 시간 구간, 측정값의 부분집합, 또는 여러 플롯에 공통된 가로 척도에 초점을 맞출 때 유용합니다.
ylim과 마찬가지로, 제한은 x 변수의 단위로, 일반적인 증가 축에서는 하한에서 상한 순으로 제공합니다. 관측값이 보이는 구간 밖에 있으면 플로팅 영역에 나타나지 않습니다. 초점을 맞춘 보기가 독자에게 필요한 맥락을 숨기지 않도록, 선택한 구간을 원본 데이터와 대조해 확인합니다.
ylim()과 xlim()을 결합해 제어 강화하기
두 인수를 같은 기본 그래픽 호출에 전달하면 처음의 예제처럼 직사각형 보기 범위를 제공할 수 있습니다. 보여 주고 싶은 가로 값으로 xlim을 설정하고, 보여 주고 싶은 세로 값으로 ylim을 설정합니다. 기본적으로 기본 그래픽은 각 범위를 약간 확장합니다. 표시되는 축이 제공된 제한에서 정확히 끝나기를 원하면 xaxs = "i"와 yaxs = "i"를 포함합니다. 플롯을 비교할 때는 같은 제한을 사용하면 척도를 비교하기가 더 쉬워집니다. 하나의 플롯을 탐색할 때는 패턴을 해석하는 데 필요한 맥락을 보존하는 경계를 선택합니다.
동작은 플로팅 시스템에 따라 다릅니다. ggplot2에서는 축 제한이 보통 scale_x_continuous(limits = c(2, 8))와 scale_y_continuous(limits = c(0, 30)) 같은 척도로 지정됩니다. 척도 제한은 이후의 플롯 레이어나 통계 요약이 그려지기 전에 범위 밖의 값을 제외하므로, 그 결과에 영향을 줄 수 있습니다. 계산을 위해 데이터를 유지하는 보기 전용 확대에는 coord_cartesian(xlim = c(2, 8), ylim = c(0, 30))을 사용합니다. 이러한 ggplot2 옵션은 plot()의 xlim 및 ylim 인수가 아닙니다. 코드의 플로팅 시스템에 맞는 인터페이스를 사용합니다.
결론
기본 R 플롯에서는 가로 범위를 xlim으로, 세로 범위를 ylim으로 설정합니다. 두 축을 모두 제어해야 할 때는 둘 다 전달합니다. 비교를 뒷받침하는 경계를 선택하고, 보이는 영역 밖에 있는 관측값은 나타나지 않을 수 있음을 기억합니다. ggplot2에서는 제한이 플로팅되는 데이터에 영향을 주기를 원하는지, 아니면 보기에만 영향을 주기를 원하는지에 따라 척도 제한 또는 coord_cartesian()을 사용합니다.
자주 묻는 질문
-
하나의 플롯에서 두 축의 제한을 모두 설정할 수 있나요? 예. 같은 기본 그래픽 호출에
xlim = c(lower_x, upper_x)와ylim = c(lower_y, upper_y)를 포함합니다. -
경계는 어떻게 선택해야 하나요? 각 변수의 단위와 범위, 독자가 해야 할 비교, 그리고 여러 플롯이 척도를 공유해야 하는지를 기준으로 합니다. 선택한 보기가 데이터를 해석하기에 충분한 맥락을 남기는지 확인합니다.
-
제한 밖에 있는 점은 어떻게 되나요? 기본 그래픽에서는 보이는 플로팅 영역 밖에 있어 그곳에 표시되지 않습니다. ggplot2에서는 척도 제한이 범위 밖의 값을 이후 계산에서 제거할 수 있습니다.
coord_cartesian()은 그 계산을 위해 데이터를 유지하면서 보기를 확대합니다. -
xaxs와yaxs는xlim과ylim의 대안인가요? 이들은 기본 그래픽에서 축 확장을 제어합니다. 예를 들어 플로팅된 범위 주위의 여백입니다. 축 제한을 제공하려면xlim과ylim을 사용합니다. 기본 축 스타일은 표시되는 범위를 확장할 수 있습니다. 표시되는 축이 그 제한에서 정확히 끝나야 할 때는xaxs = "i"와yaxs = "i"를 설정합니다.