如何解决带有margint = TRUE的facet_grid的geom_col是否不能堆叠?
页边距中的小节似乎是在选择最大的构面,而不是像我期望的那样进行总结。
library(palmerpenguins); library(tidyverse); library(janitor)
penguins_raw %>%
clean_names() %>%
ggplot() +
geom_col(aes(x = clutch_completion,y = body_mass_g,fill = sex),position = "dodge") +
facet_grid(rows = vars(species),cols = vars(island),margins = TRUE)
#> Warning: Removed 8 rows containing missing values (geom_col).
由reprex package(v0.3.0)于2020-10-11创建
编辑1:这是一些进一步的研究:如果我仅使用geom_col position = dodge而没有任何构面,则会得到以下结果。 dodge2向我们展示了它是相互叠加而不是堆叠在一起的,这就是为什么它看起来像最大值的原因?看起来堆叠的较大的躲避条似乎也没有拾取dodge2中显示的所有数据,但这可能是因为数据是如何分层的?
所以我的问题变成了:如何同时堆叠和躲避geom_col?
library(palmerpenguins,quietly = TRUE); library(tidyverse,quietly = TRUE); library(janitor,quietly = TRUE)
#> Warning: package 'palmerpenguins' was built under R version 3.6.3
#> Warning: package 'ggplot2' was built under R version 3.6.3
#> Warning: package 'tibble' was built under R version 3.6.3
#> Warning: package 'tidyr' was built under R version 3.6.3
#> Warning: package 'purrr' was built under R version 3.6.3
#> Warning: package 'dplyr' was built under R version 3.6.3
#> Warning: package 'forcats' was built under R version 3.6.3
#> Warning: package 'janitor' was built under R version 3.6.3
#>
#> Attaching package: 'janitor'
#> The following objects are masked from 'package:stats':
#>
#> chisq.test,fisher.test
penguins_raw %>% clean_names() %>%
ggplot() +
geom_col(aes(x = clutch_completion,col = sex),fill = "grey",position = "dodge") +
geom_col(aes(x = clutch_completion,position = "dodge2")
#> Warning: Removed 2 rows containing missing values (geom_col).
#> Warning: Removed 2 rows containing missing values (geom_col).
由reprex package(v0.3.0)于2020-10-11创建
解决方法
对于这个问题,可能有一个聪明的解决方案,但是也许可以针对您想做的事情进行调整?
options(scipen = 100000)
library(palmerpenguins); library(tidyverse); library(janitor)
penguins_raw %>%
clean_names() %>%
mutate(clutch_int = factor(str_replace(interaction(clutch_completion,sex),'\\.',' / '),ordered=TRUE)) %>%
ggplot() +
geom_col(aes(x = clutch_int,y = body_mass_g,fill = sex),position = "stack") +
theme(axis.text.x = element_text(angle = 75,hjust = 1)) +
facet_grid(scales = "free",rows = vars(species),drop = FALSE,cols = vars(island),margins = TRUE)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。