R 的问题:使用 ggplot2 更改多个箱线图的标题
Posted
技术标签:
【中文标题】R 的问题:使用 ggplot2 更改多个箱线图的标题【英文标题】:Troubles with R: Changing headings of multiple boxplots using ggplot2 【发布时间】:2018-04-09 09:45:30 【问题描述】:我遇到了一个问题,我似乎无法解决,在互联网上搜索了 24 小时后,我决定在这里提问。
我有一个用 ggplot2 制作的 4 箱线图。每个箱线图都以数据变量命名。但是为了让读者更容易理解,我想更改每个单个箱线图的标题(不更改数据集中的名称)。这可能吗?我试过使用“ggtitle”、“rename”、“main=”和其他几个建议,我在互联网上找到了。
这是我完成的编码:
d11 <- droplevels(subset(d, time=="Baseline" | time=="Pre-ECT" | time=="1st Period Post-ECT" | time=="2nd Period Post-ECT"))
ggplot(melt(d11, id.vars= c("subj", "time", "time.num", "intervention","order", "age", "sex", "diagn", "diagn2"), measure.vars = c("HR", "BPsys", "BPdia", "CO")), aes(x=time, y = value, fill = intervention)) +
geom_boxplot() +
theme(axis.text.x = element_text(angle=90, hjust=1, vjust=0.5)) +
facet_wrap(~variable, scales= "free")
我希望箱线图中的标题改为“心率”、“收缩压”、“舒张压”、“心输出量”。
对功能有什么建议,可能有用吗?
【问题讨论】:
查看 facet_wrap 的labeller
参数
嗨,理查德。感谢您的评论。好像我使用了 .default 参数,我可以让所有标签消失,但我在用自己的名字替换它们时遇到了麻烦。
【参考方案1】:
您需要在facet_wrap
中使用labeller
参数。使用它的最简单方法是使用 as_labeller
和命名向量。
ggplot(iris, aes(x = Petal.Length, y = Petal.Width)) +
geom_point() +
facet_wrap(~Species,
labeller = as_labeller(c("setosa" = "I. setosa", "versicolor" = "I. versicolor", "virginica" = "I. virginica")))
【讨论】:
理查德·特尔福德,你是个巫师。问题解决了!以上是关于R 的问题:使用 ggplot2 更改多个箱线图的标题的主要内容,如果未能解决你的问题,请参考以下文章