ggplot2绘制Boxplot未达预期:如何纵轴展示15份问卷对应年龄箱线图
箱线图未按问卷分组显示问题解决方法
问题原因
你的代码无法生成预期15个分组箱线图的核心原因是Caderno变量被R识别为连续数值型变量,而非你预期的分类变量,因此ggplot不会将A-O的15个编号作为独立分组维度处理,只会渲染为连续轴上的单一箱线。你之前交换两个变量的位置没有触及变量类型的核心问题,因此不会生效。
解决代码
首先将Caderno转换为因子类型即可实现分组,如果你需要保持分组按A到O的顺序排列,可以手动指定因子的层级:
library(ggplot2) library(dplyr) select_base %>% # 将Caderno转为因子,按A到O的顺序指定层级 mutate(Caderno = factor(Caderno, levels = LETTERS[1:15])) %>% ggplot(aes(x = Idade, y = Caderno)) + geom_boxplot()
如果你不需要调整顺序,直接在aes内转换即可:
select_base %>% ggplot(aes(x = Idade, y = factor(Caderno))) + geom_boxplot()
内容的提问来源于stack exchange,提问作者dadaset
相关产品推荐
相关产品推荐

