답변:
scale_x_continuous
및 / 또는를 수정하여 ggplots 기본 스케일을 재정의 할 수 있습니다 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()
각각보십시오. 다른 주장을 이해하기 위해 좋은 통찰력도 여기 에서 찾을 수 있습니다 .
max-min/30
것이 일반적인 "버킷"입니다. 크기 ...하지만 좋은 출발점이 될 수도 있고 아닐 수도 있습니다.
scale_x_date(date_breaks = "5 months", date_minor_breaks = "1 months")
을 바탕으로 다니엘 Krizian의 코멘트 , 당신은 또한 사용할 수 있습니다 pretty_breaks
으로부터 기능을 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))
scales
오지만 네임 스페이스에 함수를 추가하지 않습니다. 따라서로 가져 오기없이 호출 할 수 있습니다 scales::pretty_breaks(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))
number_ticks
. 이것은 이미에서 구현되었습니다 pretty_breaks {scales}
. 따라서 : ggplot(dat, aes(x,y)) + geom_point() + scale_x_continuous(breaks=pretty_breaks(n=10)) + scale_y_continuous(breaks=pretty_breaks(n=10))
require(scales)
2) 이것은 과학적 표기법으로 나타나는 나의 휴식을 막는 것으로 보입니다. 따라서 1e6은 1000000으로 변경됩니다 ??
pretty
없이 기본 R을 사용할 수 있으며 scales
값을 인수로 제공하면됩니다. 예를 들면 :(breaks=pretty(dat$x, n=10))
다가오는 v3.3.0 버전은 및에 대한 나누기를 자동으로 생성 ggplot2
하는 옵션이 있습니다.n.breaks
scale_x_continuous
scale_y_continuous
devtools::install_github("tidyverse/ggplot2")
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)
by
다른 수의 척도로 인수 를 "일반화"하는 것 입니다. 즉, 0.5는 c (-3,3)의 범위에 해당하는이 데이터에 대한 좋은 값이지만 범위에 해당하는 데이터에는 적합하지 않습니다. c (0,5000)입니다. 그것을 계산하는 함수가 있습니까?