You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于x2偏移ggplot2条形图并将x轴标签替换为x1?

解决方案

首先你的数据:

df <- data.frame(x1=c("A","B1","B2","C1","C2","C3"), x2=c("A","B","B","C","C","C"), y=c(1,2,3,4,5,6))

要实现基于x2分组偏移,x轴显示x1标签,直接调整ggplot的映射参数即可:将x轴映射为x1,同时用group=x2指定分组依据,这样既满足同x2的条形偏移排布,x轴也会直接显示所有x1的标签:

library(ggplot2)

p <- ggplot(df, aes(x = x1, y = y, fill = x1, group = x2))
p + geom_bar(stat = "identity", position = position_dodge())

补充说明:

  • group=x2会让ggplot按照x2的分类对条形分组,所以同属B的B1、B2会挨在一起偏移,同属C的C1、C2、C3同理。
  • 如果觉得偏移间距不合适,可以调整position_dodge()的宽度参数,比如position_dodge(width=0.8)来缩小或增大条形间的距离。

内容的提问来源于stack exchange,提问作者HappyPy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 05:22:09