前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R语言实现蜜蜂群图绘制

R语言实现蜜蜂群图绘制

作者头像
一粒沙
发布2020-01-22 13:12:21
1.5K0
发布2020-01-22 13:12:21
举报
文章被收录于专栏:R语言交流中心R语言交流中心

前面我们讲过抖动散点图的绘制,今天给大家介绍一个更加普遍的一种抖动散点图叫做蜜蜂群图。首先我们看下需要用到的包:

代码语言:javascript
复制
install.packages("beeswarm")

接下来看下主要的核心函数beeswarm。

其中主要的参数:

Method 主要是指的散点图的样式。Center对称群;另外还有swarm(成群的),hex,square。

spacing 各点之间距离。

Cex 各点的大小。

corral 控制点不超过坐标点的区域,可以结合corralWidth设置坐标位置宽度。超出的部分如果设置omit则会忽略;设置random会随机显示在覆盖的区域。

Priority 点的排布,但是只在method=swarm时可用。其可选的参数包括:ascending(升序),descending(降序),density, random(随机显示) ,none。

Add 是否加在其它绘图之上,比如箱线图上加这个图则设置为TRUE。

Pwcol 设置分组,可以给与不同的颜色显示不同的点。当然,可以支持list设置多个组的不同样本颜色。

Pch 点的形状,可以参考plot对点的设置。

以上函数也就是整个包的核心了,接下来我们直接上实例:

代码语言:javascript
复制
###基本的单组数据distributions <- list(runif = runif(200,min = -3, max = 3), rnorm = rnorm(200),rlnorm = rlnorm(200, sdlog = 0.5))beeswarm(distributions, col = 2:4, pch=16)
代码语言:javascript
复制
###多组数据的data(breast) beeswarm(time_survival ~ ER, data = breast, pch = 16, pwcol = 1 +as.numeric(event_survival),xlab = "", ylab = "Follow-up time(months)",labels = c("ER neg", "ER pos")) legend("topright", legend = c("Yes","No"), title = "Censored", pch = 16, col = 1:2)
代码语言:javascript
复制
##每个组独立设置颜色:Dd=1 + as.numeric(breast $event_survival)mycol=list() neg=which(Dd==1)pos=which(Dd==2)mycol$neg=Dd[1:length(neg)]mycol$pos=Dd[1:length(pos)]+1data=list() data$neg=breast$time_survival[neg]data$pos=breast$time_survival[pos]beeswarm(data, pch = 16, pwcol = mycol,xlab= "", ylab = "Follow-up time (months)",labels = c("ERneg", "ER pos"))legend("topright", legend = 1:3,title = "Censored", pch = 16, col = 1:3)

另外此包还内置了自己的一个箱线图的绘制函数,和R语言基础的函数名称是一样的boxplot:

其中主要的参数:

Probs 需要显示的值。此处可以利用seq函数获取任何想要展示的值,也就是以直线形式画在图中。

Col 指的线的颜色,可以单一也可以多种一起绘制。

接下来我们主要看下结合beeswarm绘制箱线图,直接进入实例:

代码语言:javascript
复制
##基础箱线图 beeswarm(len ~ dose, data = ToothGrowth) bxplot(len ~ dose, data = ToothGrowth, add = TRUE)
代码语言:javascript
复制
###负责箱线图绘制:  data(breast) bxplot(time_survival ~ event_survival, data = breast, probs = seq(0, 1,by = 0.1), col = rainbow(10)) beeswarm(time_survival ~ event_survival, data = breast, pch = 21, bg ="green", add = TRUE)
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-01-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 R语言交流中心 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档