给你的文本文字美颜—****蜂窝图
一行命令绘图
比如我们想要绘制第一列和第四列之间的图,我们可以直接用beeswarm函数就可以了。
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)
便可以出现下面的图:
我们来看一下该函数怎么设置输入参数:
1. 确定x轴和y轴,比如这里我们这里输入的为第一列(ER)为x轴和第四列(time_survival)为y轴,中间用~链接,data参数代表数据对象来源,pch代表绘制点的形状,16代表为圆点,pwcol 代表“逐点”绘制点的颜色,为每个数据点指定颜色,pwcol输入的为分类变量的一列,为这一列的每一类指定不同的颜色。Xlab 代表x轴坐标名,ylab代表y轴的坐标名。
添加Legend
为了添加有效的图例,我们可以使用legend函数,来添加legend,使用十分简单,直接在beeswarm函数后面添加就可以了。该图我们是添加到了右上角,
结合boxplot一起绘制美图
我们在看到这些图的时候,很容易想到boxplot,那我们可不可以把二者整合在一起呢?理论上肯定是可以的,我们可以操作一番。
boxplot(time_survival ~ ER, data = breast,
outline = FALSE,
main = 'boxplot + beeswarm')
beeswarm(time_survival ~ ER, data = breast,
col = 4, pch = 16, pwcol = 2 + as.numeric(event_survival), add = TRUE)
便可以得到下面的图形了:注意必须在最后一个绘制的图形参数上添加add=TRUR 参数,否则就不会出现在同一个图像上。
当然我们也可以先绘制蜂窝图,在绘制boxplot,如下:
beeswarm(time_survival ~ ER, data = breast,
col = 4, pch = 16, pwcol = 2 + as.numeric(event_survival),
main = 'beeswarm + bxplot')
bxplot(time_survival ~ ER, data = breast, add = TRUE)
这个时候需要在boxplot函数后面加上add=TRUE参数。出现的图形如下:
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)
boxplot(time_survival ~ ER, data = breast,
outline = FALSE,
main = 'boxplot + beeswarm')
beeswarm(time_survival ~ ER, data = breast,
col = 4, pch = 16, pwcol = 2 + as.numeric(event_survival), add = TRUE)
beeswarm(time_survival ~ ER, data = breast,
col = 4, pch = 16, pwcol = 2 + as.numeric(event_survival),
main = 'beeswarm + bxplot')
bxplot(time_survival ~ ER, data = breast, add = TRUE)