如何用ggh4x的guide_axis_nested将ggplot2分组标签左旋转90度?
仅旋转ggh4x嵌套轴分组标签的实现方法
你当前使用ggh4x包的guide_axis_nested()创建了嵌套轴,希望仅将上层的分组标签(Group 1、Group 2、Group 3)向左旋转90度,下层的类别标签保持默认样式。
可以借助ggh4x提供的element_text_nested()函数,它支持针对嵌套轴的不同层级单独设置文本样式。结合coord_flip()后的轴元素调整,具体实现如下:
数据代码
df <- data.frame( x = LETTERS[1:16], group = rep(c("Group 1", "Group 2", "Group 3"), c(5, 3, 8)), value = rpois(16, 10) )
修改后的绘图代码
ggplot(df, aes(paste0(x, "&", group), value)) + geom_col() + guides(y = ggh4x::guide_axis_nested(delim = "&")) + coord_flip() + theme( axis.text.y = ggh4x::element_text_nested( # 针对上层分组标签设置旋转角度与对齐方式 group1 = element_text(angle = 90, hjust = 1, vjust = 0.5) ) )
说明
element_text_nested()中的group1对应嵌套轴的上层分组标签,通过angle = 90设置向左旋转90度,hjust和vjust用于调整旋转后文本的对齐位置,避免偏移。- 下层的类别标签会沿用默认样式,无需额外配置。
内容的提问来源于stack exchange,提问作者Jorge Paredes
相关产品推荐
相关产品推荐

