Cho rằng breaks
trong tỷ lệ có thể có một chức năng, tôi sẽ tưởng tượng rằng bạn có thể quấn thuật toán ngắt cơ bản trong một hàm không cho phép không phải số nguyên.
Bắt đầu với một ví dụ:
ggplot(mtcars, aes(wt, mpg)) +
geom_point() +
facet_grid(am+cyl~., scales="free_y")
Nhìn vào cách scales::pretty_breaks
được đặt lại với nhau, tạo ra một chức năng mà kết thúc tốt đẹp nó và chỉ cho phép số nguyên phá vỡ thông qua:
library("scales")
integer_breaks <- function(n = 5, ...) {
breaker <- pretty_breaks(n, ...)
function(x) {
breaks <- breaker(x)
breaks[breaks == floor(breaks)]
}
}
Bây giờ sử dụng hàm này trả về dưới dạng hàm breaks
trong tỷ lệ
ggplot(mtcars, aes(wt, mpg)) +
geom_point() +
facet_grid(am+cyl~., scales="free_y") +
scale_y_continuous(breaks = integer_breaks())
Nguồn
2012-05-11 23:39:58
+1 đẹp, tôi đã không nhận thấy rằng quy mô có thể mất một chức năng – baptiste
này là rất tốt, cảm ơn bạn rất nhiều. Tôi cũng không biết về pretty_breaks nên tham khảo của bạn rất hữu ích vì tôi định sử dụng nó rất nhiều. – MikeTP