使用ggplot2绘制单变量小提琴图需提供x变量的问题求解
单变量小提琴图X轴设置方法
无分组变量绘制单个变量的小提琴图时,给aes()的x参数传入固定常量的逻辑是正确的,你当前写的x=1本身没有问题,报错或显示异常通常是其他原因导致的。
具体调整方案
把x参数改为因子类型的固定值,同时去掉X轴多余的刻度、标签即可,修正后的代码如下:
library(ggplot2) library(papaja) # theme_apa需要papaja包支持,提前加载 ggplot(initdata, aes(x = factor(1), y = tm_aerobic_vario)) + geom_violin(trim = FALSE, fill = "gray") + geom_boxplot(width = 0.1) + theme_apa() + # 隐藏不需要的X轴元素 theme( axis.title.x = element_blank(), axis.text.x = element_blank(), axis.ticks.x = element_blank() )
说明
- 把
x=1改为x=factor(1)是为了明确告知ggplot该轴为分类变量,避免被识别为连续变量引发绘图逻辑异常,所有数据会被自动归到同一分组完成绘图 - 如果你不需要使用
theme_apa(),可以替换为theme_classic()等其他基础主题,避免因未安装papaja包导致报错
你之前生成的异常效果如下:
内容的提问来源于stack exchange,提问作者Georgios Mavropalias
相关产品推荐
相关产品推荐

