R | 更改分面标签

作者: 尘世中一个迷途小书僮 | 来源:发表于2021-05-13 21:10 被阅读0次

    问题描述

    使用ggplot2分面绘图时,分面的标签与分面变量是一样的。但有时候用于分面的变量名不能满足我们对标签的需求,这个时候应该采取什么样的方法替换呢?

    解决方法

    搜索一轮后,发现可以通过facet_*()函数内的labeller参数替换分面标签,下面使用ggplot2里的示例数据ToothGrowth进行演示

    library(ggplot2)
    df <- ToothGrowth
    df$dose <- as.factor(df$dose)
    ggplot(df, aes(x=dose, y=len, group=dose)) + 
      geom_boxplot(aes(fill=dose)) +
      facet_grid(~supp) 
    
    

    创建named vector 指定替换的label,并使用as_labeller()将它转换为一个labeller函数

    #注意反引号``
    sample_label <- c(
      `OJ` = 'Orange Juice',
      `VC` = 'Vitamin C'
    )
    ggplot(df, aes(x=dose, y=len, group=dose)) + 
      geom_boxplot(aes(fill=dose)) +
      facet_grid(~supp, labeller = as_labeller(sample_label)) 
    

    但这种方法的缺点在于如果分面变量很多的时候,需要一个个改会较为麻烦,暂时还没找到更加便利的方法。

    ref
    How to change facet labels?: https://stackoverflow.com/questions/3472980/how-to-change-facet-labels

    完。

    相关文章

      网友评论

        本文标题:R | 更改分面标签

        本文链接:https://www.haomeiwen.com/subject/itgxjltx.html