根据下面的gg
对象或gg_b
对象,是否可以针对每个轴检测映射到轴上的变量是否是离散的?
library(ggplot2)
library(dplyr)
gg <-
mtcars %>%
ggplot(aes(factor(cyl), hp)) +
geom_point()
gg_b <- ggplot_build(gg)
我希望能够做到这一点,作为支持图形组织风格的一部分。
解决方案(ht / baptiste)
has_discrete_axis <-
function(gg) {
gg_b <- ggplot2::ggplot_build(gg)
lapply(gg_b$layout$panel_scales,
function(s) inherits(s[[1]], "ScaleDiscrete"))
}
答案 0 :(得分:1)
试试这个
lapply(gg_b$layout$panel_scales, function(s) inherits(s[[1]], "ScaleDiscrete"))