使用时:
facet_grid(SomeGroup ~, scales="free_y")
有没有可能指定,尽管您希望刻度是“自由的”,但您希望它们四舍五入到最接近的整数?
任何帮助都将不胜感激。
发布于 2012-05-12 07:39:59
假设尺度中的breaks
可以接受一个函数,我想你可以将基本的破坏算法包装在一个不允许非整数的函数中。
从一个例子开始:
ggplot(mtcars, aes(wt, mpg)) +
geom_point() +
facet_grid(am+cyl~., scales="free_y")
看看scales::pretty_breaks
是如何组合在一起的,创建一个包装它的函数,并且只允许整数突破:
library("scales")
integer_breaks <- function(n = 5, ...) {
breaker <- pretty_breaks(n, ...)
function(x) {
breaks <- breaker(x)
breaks[breaks == floor(breaks)]
}
}
现在使用它返回的函数作为刻度中的breaks
函数
ggplot(mtcars, aes(wt, mpg)) +
geom_point() +
facet_grid(am+cyl~., scales="free_y") +
scale_y_continuous(breaks = integer_breaks())
发布于 2012-05-12 16:27:31
我可能遗漏了一些东西,但我会做这样的事情。
library(ggplot2)
ggplot(mtcars, aes(wt, mpg)) +
geom_point() +
facet_grid(am+cyl~., scales="free_y", space = "free_y") +
scale_y_continuous(breaks = seq(0, 40, 2), expand = c(0, 1))
https://stackoverflow.com/questions/10558918
复制相似问题