r - 在分组小提琴/箱线图中居中 x 轴标签
问题描述
我正在按组创建小提琴图。我想使用以每组小提琴图的中点为中心的希腊字母来标记每组。我怎样才能做到这一点?
到目前为止,我正在使用scale_x_discrete
,但我无法指示任何类型的居中。
library(ggplot2)
dat <- matrix(rnorm(100*12),ncol=12)
# Violin plots for columns
mat <- reshape2::melt(data.frame(dat), id.vars = NULL)
mat$variable_grouping <- ifelse(mat$variable %in% c('X1', 'X2', 'X3','X4'), 'g1',
ifelse(mat$variable %in% c('X5','X6','X7','X8'),
'g2', 'g3'))
pp <- ggplot(mat, aes(x = variable, y = value, fill = variable_grouping)) +
geom_violin(scale="width",adjust = 1,width = 0.5) +
scale_x_discrete(labels = c(expression(theta[1]),"","","",expression(theta[2]),"","","",expression(theta[3])))
pp
在此示例中,标签应位于 2.5、6.5 和 8.5。
解决方案
一个不同的解决方案:
library(ggplot2)
pp <- ggplot(mat, aes(x = as.numeric(variable), y = value,
group = variable, fill = variable_grouping)) +
geom_violin(scale="width", adjust = 1, width = 0.5) + xlab("variable") +
scale_x_continuous(breaks = c(2.5, 6.5, 10.5),
labels = c(expression(theta[1]),expression(theta[2]),expression(theta[3])))
pp
推荐阅读
- scala - 通过将列集合与另一个集合一起解包来选择 Dataframe 列
- python - Pycharm无法在pycharm中安装包-非零退出码(一)-
- powershell - 在 PowerShell 脚本中设置服务自动失败
- c# - 使用自动增量字段恢复 MySql 表中已删除的行
- android - 即使我使用生成的签名 APK 也没有安装 APK
- google-apps-script - 如何通过管理 SDK 获得经理的价值
- python-3.x - Python docx 无法从 word(.docx) 中读取项目符号
- sqlalchemy - 使用 DATABASE_URL 使用 sqlalchemy 连接到数据库
- linux - 在 Ubuntu 下将 Stata 输出发送到日志文件
- java - 弹性搜索仅索引数据库中最近添加的记录并忽略以前添加的记录