R | 使用ggplot绘制对比箱线图

1 单独测试

library(ggplot2)
p<-ggplot(data=df_plot, aes(x=label,y=score))+
  geom_boxplot(aes(fill=label))+
  theme(legend.position = 'none', title = element_text(family = 'STKaiti'), # 设置不要旁边的那个解释框
        axis.title.x = element_text(family = 'STKaiti'), # 字体大小格式设置
        axis.title.y = element_text(family = 'STKaiti', size = 12, face = 'bold'),
        axis.text.x = element_text(family = 'STKaiti', size = 12, face = 'bold'))+
  labs(x="",y="得分", main = "")
  # 横轴纵轴标题设置
p

在这里插入图片描述

2 封装成函数

library(ggplot2)
PlotGGBox = function(df, label, name, y_name){

# df表示数据框
# label表示按这个类别进行分类绘制对比箱线图
# name表示和分类变量对比的数值型变量名称 如果单独不行就带$符号
# y_name表示纵轴的显示

  p<-ggplot(data=df, aes(x=label,y=name))+
    geom_boxplot(aes(fill=label))+
    theme(legend.position = 'none', title = element_text(family = 'STKaiti'),
          axis.title.x = element_text(family = 'STKaiti'),
          axis.title.y = element_text(family = 'STKaiti', size = 12, face = 'bold'),
          axis.text.x = element_text(family = 'STKaiti', size = 12, face = 'bold'))+
    labs(x="",y=y_name)
  p
}
PlotGGBox(df_plot, label, score, "得分")

在这里插入图片描述

3 总结

  • 主要是记录如何绘制对比箱线图,因为过几天代码就忘了,写在博客记录一下!
### 如何使用 `ggplot2` 绘制箱线图 在R语言中,`ggplot2` 是一个强大的绘制库,能够轻松创建高质量的统计表。对于箱线图而言,可以通过设置合适的美学映射和几何对象来实现。 #### 基本语法结构 要绘制基本的箱线图,需要定义数据源以及x轴和y轴所对应的变量。下面是一个简单的例子: ```r library(ggplot2) # 定义绘基础框架 p <- ggplot(data, aes(x = Species, y = Sepal.Width)) # 添加箱线图层 p + geom_boxplot(aes(fill = Species), alpha = 0.7)[^1] ``` 这段代码首先加载了必要的库,并通过调用`ggplot()`初始化了一个新的布,指定了数据集`data`作为输入,并设定了横坐标为物种名称(`Species`)而纵坐标则表示萼片宽度(`Sepal.Width`)。接着利用`geom_boxplot()`函数添加了一层箱形,在这里还设置了填充颜色按不同类别区分(`fill=Species`)并且调整透明度至70% (`alpha=0.7`)。 如果希望进一步增强像效果或处理更复杂的情况,则可以根据需求加入更多参数配置或其他类型的元组合。例如,当存在多个分组时可考虑应用`facet_grid()`来进行多面板布局;或者为了展示具体数值点的位置可以在原有基础上叠加散点等[^3]。 #### 处理异常值标注 有时可能还需要标记出那些被认为是离群点的数据项。这同样可以借助于`ggplot2`完成: ```r # 创建绘对象并指定数据来源 p <- ggplot(data, aes(x = variable, y = value)) # 显示带有标签的异常值 p + geom_boxplot(outlier.colour="red", outlier.shape=8)+ stat_summary(fun.y=mean, colour="darkblue", geom="point", shape=18, size=3, show.legend = FALSE) ``` 上述脚本不仅改变了默认样式下的异常值得外观特征(红色圆圈),同时也计算并显示了每类别的平均数位置作为一个蓝色星号[^2]。 #### 并排比较不同类型样本间的差异 针对两个独立群体之间的对比分析场景下,可通过构建一个新的数据帧并将它们合并在一起用于后续作操作: ```r df <- data.frame( group = c(rep("Group 1", length(data1)), rep("Group 2", length(data2))), value = c(data1, data2) ) ggplot(df, aes(x = group, y = value)) + geom_boxplot()+ facet_grid(. ~ group, scales = "free_x") ``` 此部分先构造了一个包含两批观测记录的新表格形式,再以此为基础生成各自分开却又相互对照着呈现出来的箱型序列。 综上所述,基于`ggplot2`包内建的功能模块即可灵活应对各种有关箱线图制作的需求情境。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值