축 눈금 수 증가
일부 데이터에 대한 플롯을 생성하고 있지만, 눈금 수가 너무 적어서 판독값을 더 정확하게 해야 합니다.
ggplot2에서 축 눈금 수를 늘릴 수 있는 방법이 있습니까?
ggplot에 벡터를 축 눈금으로 사용하도록 지시할 수 있지만, 제가 원하는 것은 모든 데이터에 대해 눈금 수를 늘리는 것입니다.즉, 저는 데이터에서 틱 수를 계산하기를 원합니다.
아마도 ggplot은 내부적으로 알고리즘을 사용하여 이것을 수행하지만, 제가 원하는 것에 따라 어떻게 변화하는지 찾을 수 없었습니다.
다음을 수정하여 ggplot 기본 척도를 재정의할 수 있습니다.scale_x_continuous
및/또는scale_y_continuous
예:
library(ggplot2)
dat <- data.frame(x = rnorm(100), y = rnorm(100))
ggplot(dat, aes(x,y)) +
geom_point()
제공되는 이점이 있습니다.
스케일을 오버라이드하면 다음과 같은 이점을 얻을 수 있습니다.
ggplot(dat, aes(x,y)) +
geom_point() +
scale_x_continuous(breaks = round(seq(min(dat$x), max(dat$x), by = 0.5),1)) +
scale_y_continuous(breaks = round(seq(min(dat$y), max(dat$y), by = 0.5),1))
그림의 특정 부분을 단순히 "확대"하려면 다음을 확인합니다.xlim()
그리고.ylim()
각각 다음과 같다.다른 주장을 이해하기 위한 좋은 통찰력도 여기에서 찾을 수 있습니다.
Daniel Krizian의 코멘트를 기반으로, 당신은 또한 다음의 기능을 사용할 수 있습니다.scales
자동으로 가져오는 라이브러리:
ggplot(dat, aes(x,y)) + geom_point() +
scale_x_continuous(breaks = scales::pretty_breaks(n = 10)) +
scale_y_continuous(breaks = scales::pretty_breaks(n = 10))
원하는 눈금 수를 입력하기만 하면 됩니다.n
.
데이터 변수를 다시 지정해야 하므로 약간 덜 유용한 솔루션인 기본 제공pretty
함수:
ggplot(dat, aes(x,y)) + geom_point() +
scale_x_continuous(breaks = pretty(dat$x, n = 10)) +
scale_y_continuous(breaks = pretty(dat$y, n = 10))
다음에 함수 인수를 제공할 수 있습니다.scale
ggplot은 이 함수를 사용하여 눈금 위치를 계산합니다.
library(ggplot2)
dat <- data.frame(x = rnorm(100), y = rnorm(100))
number_ticks <- function(n) {function(limits) pretty(limits, n)}
ggplot(dat, aes(x,y)) +
geom_point() +
scale_x_continuous(breaks=number_ticks(10)) +
scale_y_continuous(breaks=number_ticks(10))
v3.3.0부터 시작하여ggplot2
선택권이 있습니다.n.breaks
자동으로 휴식 시간을 생성합니다.scale_x_continuous
그리고.scale_y_continuous
library(ggplot2)
plt <- ggplot(mtcars, aes(x = mpg, y = disp)) +
geom_point()
plt +
scale_x_continuous(n.breaks = 5)
plt +
scale_x_continuous(n.breaks = 10) +
scale_y_continuous(n.breaks = 10)
또한.
ggplot(dat, aes(x,y)) +
geom_point() +
scale_x_continuous(breaks = seq(min(dat$x), max(dat$x), by = 0.05))
빈 축 또는 이산 축척 데이터(즉, 반올림이 필요하지 않음)에 대해 작동합니다.
이 질문에 대한 답변과 Rgg 그림에서 X축과 Y축의 레이블을 동일한 간격으로 설정하는 방법은 무엇입니까?
mtcars %>%
ggplot(aes(mpg, disp)) +
geom_point() +
geom_smooth() +
scale_y_continuous(limits = c(0, 500),
breaks = seq(0,500,50)) +
scale_x_continuous(limits = c(0,40),
breaks = seq(0,40,5))
언급URL : https://stackoverflow.com/questions/11335836/increase-number-of-axis-ticks
'programing' 카테고리의 다른 글
Vuex: 세터가 작동하지 않고 입력이 기록되지 않습니까? (0) | 2023.07.03 |
---|---|
함수에서 저장 프로시저 실행 (0) | 2023.07.03 |
대상 셀에서 다른 셀의 공식을 가져오는 중 (0) | 2023.07.03 |
GitHub에서 프로젝트를 복제한 후 Git 하위 모듈 가져오기 (0) | 2023.07.03 |
오라클의 최대 절전 모드 시퀀스인 @GeneratedValue(전략 = GenerationType).자동) (0) | 2023.07.03 |