R数据可视化10:蜜蜂图 Beeswarm

忙碌于实验的一周。写代码的时候是只要写代码就要动脑子,最简单的读文件,也是要小小动一下脑子。而做实验的时候是计划实验的时候动脑子,实验中机械操作,然后实验失败的时候是费脑子。永远不知道是我有问题,样本有问题,还是实验过程有问题,总是在重复摸索,好难。正文——————————今天我们来讲蜜蜂图,这图也看着确实很吵闹,仿佛耳边嗡嗡作响。

什么是蜜蜂图

不知道蜜蜂图的名字从何而来,我猜测可能是因为画这个图的包叫做beeswarm?
我们先来看看蜜蜂图长什么样。

Beeswarm

看上去和我们之前的点图很像,我们可以直观来比较一下beeswarm和ggplot中使用jitter及point(默认参数)绘制同一组关于乳腺癌数据的图:

从中可以发现,beeswarm很好的体现了数据的分布,更加清楚、直观。而后两者,难以快速获取信息,point图中点过于密集,jitter中分布过于散乱。这也是很多科学论文选择beeswarm图的原因,在小样本下也许jitter或者point的方法也能够传达我们想要传递的信息。但是在样本量较大的时候,这两个绘图方法就不太适合了。而beeswarm图在大样本的情况下也比较使用。不仅可以体现每一个样本具体情况,而且能够查看整体的情况。

怎么做蜜蜂图

本次作图使用两个不同的包,之所以如此是因为比较常见的制作蜜蜂图的包就叫做“beeswarm”,但是它和ggplot的作图习惯略有差别。鉴于之前都是利用ggplot作图,所以也讲解另一个基于ggplot的名叫“ggbeeswarm”的包。
Note:没有安装相关R包的,先安装R包

1)需要什么格式的数据
本次使用的是beeswarm包中的breast数据。

breast 数据

共有286个样本,具体所表示的信息如下:
ER:Estrogen receptor status (factor with levels neg, pos)
ESR1:Expression of the ESR1 gene (numeric)
ERBB2:Expression of the ERBB2 gene (numeric)
time_survival:Time in months (numeric)
event_survival:Coded event: 0 = censored, 1 = metastasis (numeric)

2)如何作图
首先使用beeswarm包

library(beeswarm)
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)

可以看到不像ggplot给具体的x=,y=,该包使用公式:
举例: p~ grp
那么就相当于x为grp,y为p
另外,其修改图诸多细节的方式也不一致。
pch是选择点的样式,不同的数字代表实心圆、空心圆、三角形、倒三角形等等。
pwcol是用来设置颜色,可以看到这里+1原因是event_survival中含有0值,如果不加1,则显示为无色,即查看不到这些样本
labels用来修改x轴标签
然后使用legend功能添加图例

然后我们来看一看另一个R包ggbeeswarm。

ggplot(breast,aes(x=ER,y=time_survival))+
  geom_beeswarm(aes(color=factor(event_survival)),cex=1.5)+#cex用于设置点的密集程度
  theme_bw()+
  theme(
    legend.position = c("top"),
    panel.grid = element_blank()
    
  )+
  scale_color_manual(values=c("Black","Red"),name="Censored",labels=c("Yes","No"))+
  scale_x_discrete(labels=c("ER neg","ER pos"))+
  xlab("")+
  ylab("Follow-up time (months)")

往期 R数据可视化 分享

R数据可视化9: 棒棒糖图 Lollipop Chart
R数据可视化8: 金字塔图和偏差图
R数据可视化7: 气泡图 Bubble Plot
R数据可视化6: 面积图 Area Chart
R数据可视化5: 热图 Heatmap
R数据可视化4: PCA和PCoA图
R数据可视化3: 直方/条形图
R数据可视化2: 箱形图 Boxplot
R数据可视化1: 火山图

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,230评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,261评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,089评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,542评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,542评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,544评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,922评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,578评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,816评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,576评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,658评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,359评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,937评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,920评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,156评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,859评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,381评论 2 342

推荐阅读更多精彩内容

  • 刘小泽开始写于18.9.4晚,这必定是一个持续性更新的过程昨天jimmy一发朋友圈,单篇阅读量很快超过了我们的关注...
    刘小泽阅读 1,177评论 0 12
  • R语言包的安装 参考文章 在R中大概有几种包的安装方式。 install.packages()常规包的安装 括号里...
    天涯清水阅读 13,354评论 0 21
  • 上次我们说了学习之道,今天我们来说一说学习态度。 这个星期我在看《如何学习》这本书,在我们说看的书籍...
    璃魅阅读 158评论 0 0
  • 忙碌的一天, 充实而又痛苦。 马上新年的前几天, 在抓紧时间扫家, 所有衣服等的都要洗一遍, 这才有年的味道吧! ...
    仟小羽阅读 192评论 0 3
  • 对于名下有房的人来说,在急需资金的情况下在,经常见到的就是用房子作抵押向银行申请贷款,但是对于初次做房屋抵押贷款的...
    中亿行阅读 143评论 0 1