R的麻烦:使用ggplot2改变多个箱图的标题

时间:2018-04-09 09:45:31

标签: r ggplot2 boxplot

我遇到了一个问题,我似乎无法解决,在搜索了24小时后,我决定在这里询问。

我有一个4箱图,我用ggplot2制作。每个箱图都以数据变量命名。但为了让读者更容易理解,我想更改每个boxplot的标题(不更改数据集中的名称)。这可能吗?我尝试使用" ggtitle","重命名"," 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")

4 boxplots

我希望盒子图中的标题是&#34;心率&#34;,&#34;收缩压&#34;,&#34;舒张压&#34;,&#34;心脏病输出&#34;代替。

对函数的任何建议,可能有用吗?

1 个答案:

答案 0 :(得分:2)

您需要使用labeller中的facet_wrap参数。最简单的方法是使用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")))