ggplot2绘制有序条形图时x轴标签出现叠加文本如何解决?
R语言ggplot2分面条形图x轴标签叠加问题解决
问题原因
- 代码中
facet_wrap设置了scales = "free",每个分面仅展示对应ID分组下的x轴取值范围 - 你在
scale_x_continuous中全局传入了全数据集的断点和标签,所有不在当前分面x轴范围内的断点会被压缩到x轴两端渲染,最终形成标签叠加的异常效果
修复方案
直接调整x轴映射为要显示的文本变量,同时保留原有排序规则即可:
library(readr) library(ggplot2) data <- read_csv("data.csv") # 按index_ind排序设定因子水平,保证x轴标签顺序符合需求 data$string <- factor(data$string, levels = unique(data$string[order(data$index_ind)])) ggplot(data, aes(x = string, y = value, fill = index_ind)) + geom_bar(stat = "identity", show.legend = FALSE) + facet_wrap(~ ID, scales = "free") + theme_bw() + theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust = 1))
内容的提问来源于stack exchange,提问作者RawisWar
相关产品推荐
相关产品推荐

