我有一个由facet_grid
创建的带有自由比例的2 x 2网格(参见示例)。我希望在网格的第二行中有数字的对数比例,但不是在第一行。
示例代码:
data("mtcars")
ggplot(data = mtcars, aes(y = mpg, x = as.factor(cyl))) + geom_boxplot() + facet_wrap(~ vs + am, nrow = 2, scales = "free")
scale_y_log10()
似乎做了一些奇怪的事情。这是可能的,还是我必须使用像grid.arrange
这样的东西?
答案 0 :(得分:3)
我们可以改变然后情节:
library(ggplot2)
library(dplyr)
# manual transform
plotDat <- mtcars %>%
mutate(mpg = if_else(vs == 1, log10(mpg), mpg),
cyl = as.factor(cyl))
# then plot
ggplot(data = plotDat, aes(y = mpg, x = cyl)) +
geom_boxplot() +
facet_wrap(~ vs + am, nrow = 2, scales = "free")