ggplot2双列facet_wrap绘图如何让左右列分面标签分置两侧
ggplot2双列分面左右分列显示y轴与标签的实现方法
要实现该效果,原生facet_wrap不支持分列控制轴与标签位置,需要借助ggh4x扩展包的增强分面功能实现,调整后的代码如下:
首先安装并加载所需包:
# 首次使用先安装 install.packages("ggh4x") library(ggplot2) library(ggh4x)
绘图代码:
ggplot(economics_long, aes(date, value)) + geom_line() + labs(y="") + facet_wrap2( ~variable, scales = "free_y", ncol = 2, # 按列设置分面标签位置:左列左置,右列右置 strip.position = c("left", "right"), # 按列设置y轴显示位置:左列左置,右列右置 axes = list(y = c("l", "r")) ) + theme( strip.background = element_blank(), strip.placement = "outside", # 调整横向分面间距,实现更紧凑的布局 panel.spacing.x = unit(0.4, "lines") )
参数说明
facet_wrap2是ggh4x提供的增强分面函数,支持对不同列/行的分面属性做独立配置- 可根据需求调整
panel.spacing.x的数值,自定义分面之间的横向间隔大小
内容的提问来源于stack exchange,提问作者Alessandro
相关产品推荐
相关产品推荐

