ggmosaic图标签优化:布局调整与自定义标注技术问询
多分类马赛克图标签与间距调整问题
ggmosaic在展示多分类数据时灵活性较强,但标签调整存在不少难点。
示例数据
dat = data.frame( Correct=c('no','yes','no','yes','no','yes','no','yes', 'no','yes','no','yes','no','yes','no','yes'), Type=c('A','A','B','B','A','A','B','B', 'A','A','B','B','A','A','B','B'), Level=c('1st','1st','1st','1st','2nd','2nd','2nd','2nd', '1st','1st','1st','1st','2nd','2nd','2nd','2nd'), Class=c('X','X','X','X','X','X','X','X', 'Y','Y','Y','Y','Y','Y','Y','Y'), Percent=c(69.98,30.02,71.17,28.83,42.17,57.83,69.47,30.53, 18.68,81.32,26.92,73.08,13.48,86.52,22.65,77.35) )
基础马赛克图代码
require(ggplot2) require(ggmosaic) require(ggthemes) mosaic1 <- ggplot(data=dat) + geom_mosaic(aes(weight=Percent, x=product(Type, Level), conds=product(Class), fill=Correct)) + scale_fill_manual(values=c('#b2182b','#1b7837')) + ggtitle('TITLE') + theme_tufte(base_family='sans') + theme(axis.text.x=element_text(angle=45, hjust=1, vjust=1, size=10), axis.title=element_text(size=11), legend.text=element_text(size=10), legend.title=element_text(size=11)) mosaic1
需求说明
- 调整面板与图例的间距,使轴标签(
Correct:Level)与面板间留出更多空白; - 使用
annotate()在对应堆叠条的中点添加'1st'和'2nd'标签,但目前无法找到合适的x、y坐标值。
内容的提问来源于stack exchange,提问作者striatum
相关产品推荐
相关产品推荐

