堆积图丨geom_violin函数

本文学习绘制简单小提琴图,包括介绍和绘图两部分,主要用到ggplot2包的geom_violin函数。

alt

小提琴图是一种展示数据分布情况和数据统计信息的重要工具,能够看出数据的最大值、最小值、中位数、四分位数、分布密度、离群值等信息,它和箱线图比较类似。小提琴图怎么看?

alt 从上往下看,依次为:

  • 离群点:表示超出范围的值
  • 上边界:数据的上界
  • 四分位:箱线图的箱子和小提琴图中央的黑色竖直线,都表示四分位的范围
  • 中心点;箱线图的箱子中央横线,小提琴图中间的点,表示中值。

绘图前准备工作

加载R包

library(ggplot2)
library(reshape2)

ggplot2包用于绘图,reshape2用于对数据矩阵进行处理,这两个R包很脸熟,未来可能经常会用到,推荐添加进配置文件自动载入。

载入数据

示例数据包含两列(第一列为分组信息,第二列为值),A组有7条数据,B组和C组有9个。这种数据就是用于ggplot绘图的标准格式,可以直接用于绘图。

> head(long_table)
   Grp Value
1 GrpA    10
2 GrpA    11
3 GrpA    11
4 GrpA    11
5 GrpA    12
6 GrpA    11
alt

绘制小提琴图

绘图使用ggplot函数,依次进行:设置数据文件、初始化坐标轴、绘制小提琴图geom_violin、设置x轴标签显示方式、调整图例摆放位置,然后输入p生成plot。

p <- ggplot(long_table,aes(x=Grp,y=Value)) +
  geom_violin(aes(fill <- factor(Grp))) +
  theme(axis.text.x=element_text(angle=45,hjust=1,vjust=1)) +
  theme(legend.position="top")
p

绘图结果: alt 给小提琴图添加一些参数修饰,显示出中位数的点,用红色表示。

stat_summary(fun = median,
   geom="point",fill="red",
   shape=21,size=3)

alt 小提琴图的上下端表示最值,看起来不太平滑,可以使用trim参数进行修改。能使结果图的上下端自动变得尖锐美观。

p <- p+ geom_violin(trim=F)
alt

上面的内容是绘制小提琴图,为了进行对比,捎带学习一下简单的箱线图绘制方法。

绘制箱线图

在原始数据的基础上,利用rep生成一列新变量gender,然后利用geom_boxplot绘制箱线图,填充的内容的刚刚生成的gender(包含两水平的因子数据)

a <- c(rep(c('f',"m"),12),'f'#rep输出复制字符若干次
long_table$gender <- a
# 上面的代码用于添加一个新变量gender(包含f和m两个子项)
p <- ggplot(long_table,aes(x=Grp,y=Value)) +
  geom_boxplot(aes(fill=factor(gender)))
p

绘图结果: alt

笔者总结

  1. 绘图时每一步最好进行记录,以免返工时忘了曾经做了啥
  2. 原始数据保存好!
  3. 小提琴图有时比较奇怪,有可能是数据本身分布不均导致
  4. 图像主题参数太多,不宜挨个学习,宜遇上哪个学哪个

参考资料 1.https://www.jianshu.com/p/cd5b265ca11f 2.http://www.ehbio.com/Bioinfo_R_course

本文由 mdnice 多平台发布

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

生信分析笔记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值