R可视乎|蜂群图
The following article is from 红皇后学术 Author 红皇后学术
蜂群图
蜂群图类似于使用jitter在箱须图中展示每一个分组内部各个样本的分布情况。
两个图的差别是jitter是是的样本点在横轴随机平移,而蜂群图对样本点的排列更为规律,同时其还能够根据其它参数对样本点进行颜色的匹配。
之前已经介绍过使用jitter绘制箱须图中的样本点,详细的内容见这篇文章,这里介绍一下蜂群图的绘图方法。
beeswarm包
蜂群图使用R语言的beeswarm包进行绘制,首先还是来看一下具体的绘图参数。
beeswarm(x,
method = c("swarm", "center", "hex", "square"),
vertical = TRUE, horizontal = !vertical,
cex = 1, spacing = 1, breaks = NULL,
labels, at = NULL,
corral = c("none", "gutter", "wrap", "random", "omit"),
corralWidth, side = 0L,
priority = c("ascending", "descending", "density", "random", "none"),
pch = par("pch"), col = par("col"), bg = NA,
pwpch = NULL, pwcol = NULL, pwbg = NULL,
do.plot = TRUE, add = FALSE, axes = TRUE, log = FALSE,
xlim = NULL, ylim = NULL, dlim = NULL, glim = NULL,
xlab = NULL, ylab = NULL, dlab = "", glab = "", ...)
各参数意义:
x为绘图数据;
method定义数据点的排列方法;
vertical和horizontal定义绘图方向;
cex定义点的相对大小;
spacing定义点与点间相对距离的大小;
labels定义每组的标签名称;
at定义绘制蜂巢的位置;
corral定义点的调整方法;
corralWidth定义点调整方法的宽度范围;
pch、col、bg定义点的形状、颜色和填充颜色;
pwpch、pwcol、pwbg定义point-wise的形状、颜色和填充颜色;
do.plot定义是否绘图;
add定义是否添加到已有图形中;
axes定义是否绘制坐标轴;
log定义数据是否要进行log转换;
xlim和ylim定义坐标轴的值域;
xlab和ylab定义坐标轴标签;
dlim和glim相当于xlim和ylim;
dlab和glab相当于xlab和ylab。
绘图过程
我们先来绘制一个简单的蜂群图,使用OrchardSparays作为示例数据。
beeswarm(decrease ~ treatment,
data = OrchardSprays, log = TRUE,
pch = 16, col = rainbow(8))
再来绘制一个复杂的蜂群图。
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)
在图中,使用点的颜色来表示研究个体是否存活。
很多时候蜂群图通常与箱须图一共使用来展示数据的分布,我们再来绘制一个箱须图与蜂群图同时出现的例子,在上面的命令后再添加仪表命令。
boxplot(time_survival ~ ER, data = breast, add = T, names = c("",""), col="#0000ff22")