我想使用 ggmosaic 包制作马赛克图并添加计数,如下例所示。
示例类的作品,但我发现代码的结构很丑陋。您对我如何改进代码以使其更可重用有什么建议吗?
特别是与使用 ggplot2 通常可以实现的相比,将绘图的早期版本存储在临时变量中的需求似乎是错误的。
library(tidyverse)
library(ggmosaic)
#> Indlæser krævet pakke: productplots
#>
#> Vedhæfter pakke: 'ggmosaic'
#> De følgende objekter er maskerede fra 'package:productplots':
#>
#> ddecker, hspine, mosaic, prodcalc, spine, vspine
data <- tribble(~a, ~b,
1, 1,
1, 1,
1, 1,
1, 2,
2, 1,
2, 2,
3, 2)
p <- ggplot(data) +
geom_mosaic(aes(x=product(b, a), fill=as.factor(b)))
p +
geom_label(data = ggplot_build(p)$data %>% as.data.frame() %>% filter(.wt > 0),
aes(x = (xmin + xmax)/2,
y = (ymin + ymax)/2,
label = .wt))
由reprex 包(v0.2.0) 于 2018 年 5 月 8 日创建。