【R作图】蜜蜂群图beeswarm和jitter的使用
最近经常要画好看的盒形图,还要在上面加入散点,所以总结了两个方法。
第一种方法是,利用beeswarm函数:
library(beeswarm) beeswarm 蜜蜂群图
http://rgm3.lab.nig.ac.jp/RGM/r_function?p=beeswarm&f=beeswarm
可以结合盒形图展示。


有多种布局方法method = c("swarm", "center", "hex", "square"),通过spacing = 1来控制点的密集程度
另一个方法是,利用jitter函数加入随机波动:

以下是代码:
先按照Group1的顺序画好盒形图,加入断轴,
再按照Group1排序(1、2、3组)加入波动,波动的变量xx就是新的横坐标,然后再画散点图就行了。
图中因为有些点多有些点少,画散点的时候我按照点多的颜色先画的原则(避免点少的颜色被覆盖看不到了),所以最后画点又排了次序。
boxplot(Ratio~Group1,data=dat,ylab="Mapped Reads Ratio(%)",outline=F,names=c("NGT","IGT","T2D"),ylim=c(57,85))
library(plotrix)
axis.break(2,57.5)
num=table(dat[,"Group1"])
xx=jitter(c(rep(1,num[1]), rep(2, num[2]), rep(3,num[3])),amount=0.3)#加入波动
dat2=dat[order(dat[,"Group1"]),]
dat3=cbind(dat2,xx)
dat4=dat3[order(dat3[,"Group2"]),]#按照国家排序画图
points(dat4[,7],dat4[,2],col=rainbow(11)[(dat4[,"Group2"]+11)%%11+1],pch=16)
dat5=dat[order(dat[,"Group2"]),]
leg=unique(cbind(as.vector(dat5[,4]),dat5[,6]))
legend("bottomright", as.vector(leg[,1]), col=rainbow(11)[(seq(1,11)+11)%%11+1],pch = 16, ncol = 3, cex =1)
【R作图】蜜蜂群图beeswarm和jitter的使用的更多相关文章
- 【R作图】lattice包,画多个分布柱形图,hist图纵轴转换为百分比
一开始用lattice包,感觉在多元数据的可视化方面,确实做得非常好.各种函数,可以实现任何想要实现的展示. barchart(y ~ x) y对x的直方图 bwplot(y ~ x) 盒形图 den ...
- R语言-画线图
R语言分高水平作图函数和低水平作图函数 高水平作图函数:可以独立绘图,例如plot() 低水平作图函数:必须先运行高水平作图函数绘图,然后再加画在已有的图上面 第一种方法:plot()函数 > ...
- R语言学习 - 热图绘制heatmap
生成测试数据 绘图首先需要数据.通过生成一堆的向量,转换为矩阵,得到想要的数据. data <- c(1:6, 6:1, 6:1, 1:6, (6:1)/10, (1:6)/10, (1:6)/ ...
- R作图
R一般的散点图:plot() 折线图:plot() lines() 柱状图 barplot() 箱子图 boxplot() 直方图:hist() 热力图:heatmap 画地图的:拓展包 m ...
- R语言绘制QQ图
无论是直方图还是经验分布图,要从比较上鉴别样本是否处近似于某种类型的分布是困难的 QQ图可以帮我们鉴别样本的分布是否近似于某种类型的分布 R语言,代码如下: > qqnorm(w);qqline ...
- R语言画棒状图(bar chart)和误差棒(error bar)
假设我们现在有CC,CG,GG三种基因型及三种基因型对应的表型,我们现在想要画出不同的基因型对应表型的棒状图及误差棒.整个命令最重要的就是最后一句了,用arrows函数画误差棒.用到的R语言如下: d ...
- R语言绘制花瓣图flower plot
R语言中有很多现成的R包,可以绘制venn图,但是最多支持5组,当组别数大于5时,venn图即使能够画出来,看上去也非常复杂,不够直观: 在实际的数据分析中,组别大于5的情况还是经常遇到的,这是就可以 ...
- 使用ggbio在R中制作弦图
分享一个制作弦图的R包:ggbio. 以下是一个简单的使用实例,效果图和代码如下. library(GenomicRanges) set.seed(1) N <- 100 gr <- GR ...
- matplotlib作图——plot() 线图
线图 #定义 matplotlib.pyplot.plot() plot([x], y, [fmt], data=None, **kwargs) plot([x], y, [fmt], [x2], y ...
随机推荐
- maven在windows下的安装
1.下载 2.解压 3.修改配置环境 4.验证 5.使用mvn help:system就可以看到下载到本地仓库的文件 6.全局settings 7.建议在m2下拷贝一份属于个人的配置settings
- X分钟速成Python3
参考博客:Python3 从入门到开车 (与以下代码无关) 源代码下载: learnpython3-cn.py Python是由吉多·范罗苏姆(Guido Van Rossum)在90年代早期设计. ...
- Unity 之 添加背景音乐 以及 Slider控制
游戏音频分为背景音乐与环境音乐两种.Audio Clip(音频剪辑)有四种音乐格式.MP3:适合较长音频,作为背景音乐.Ogg:适合较长音频,作为背景音乐.Wav:适合较短音频,作为环境音乐.Ai ...
- Linux 之 AT&T汇编语言 mov、add、sub指令、数据段
mov指令的几种形式: mov 寄存器. 数据 mov ax,8888 mov 寄存器. 寄存器 mov bx,ax mov 寄存器. 内存单元 mov ax,[0] mov 内存单元.寄存器 mov ...
- bootstrap table使用总结
使用bootstrap table可以很方便的开发后台表格,对数据进行异步更新,编辑.下面就来介绍一下bootstrap table的详细使用方法: 因为之前在官网也找了很久的教程,源码感觉隐藏的比较 ...
- HTML5 Shiv完美解决IE(IE6/IE7/IE8)不兼容HTML5标签的方法
这篇文章主要介绍了HTML5 Shiv完美解决IE(IE6/IE7/IE8)不兼容HTML5标签的方法,需要的朋友可以参考下 HTML5的语义化标签以及属性,可以让开发者非常方便地实现清晰的web页面 ...
- POJ 2923 Relocation 装车问题 【状态压缩DP】+【01背包】
题目链接:https://vjudge.net/contest/103424#problem/I 转载于:>>>大牛博客 题目大意: 有 n 个货物,并且知道了每个货物的重量,每次用 ...
- IT常用英文术语解释发音
associations 联系; 协会( association的名词复数 ); 联合; (思想.感觉.记忆等的) 联想; 按色赛诶神 == desktop ˈdesktɒp 的思克头铺 英[ˈde ...
- C# 使用PrintDocument 绘制表格 完成 打印预览 DataTable
经过不断的Google与baidu,最终整理出来的打印类 主要是根据两个参考的类组合而成,稍微修改了一下,参考代码及来源见最后(其中一份是VB语言的) 其中遇到的一些问题也已经得到了解决(分页,打印预 ...
- Python3面向对象基础
面向对象概述 面向对象 面向对象的世界,引入了对象的概念,对象具有属性:数据,对象具有过程或者方法:成员函数.成员函数的作用就是处理属性. 例子 对象:Car 属性:fuel_level, isSed ...