站点工具
本站推荐
最多访问
- genetics(28276)
- cell(28064)
- r(25212)
- coi(21079)
- r_basics(20003)
- statistical_test(15505)
- recurrence(15173)
- lessons(14853)
- cor(14475)
- inbreeding_risk(14386)
气泡图本质上是散点图,用点的大小来表示一个维度的数据,将三个维度的数据展示出来。
用ggplot2的geom_point就很容易绘制。
比如,我们现在有如下一组瞎编的六个人的身高和体重数据:
dat <- data.frame( 姓名 = LETTERS[1:6], 身高 = c(123, 120, 107, 177, 179, 174), 体重 = c(87, 60, 180, 74, 79, 44))
这时候我们可以用散点图来直观的表示他们的身高和体重以及姓名。如上,先将数据存入一个叫dat的数据框。
载入需要用到的ggplot2包
library(ggplot2)
先做一个最简单的看看效果
ggplot(dat) + geom_point(aes(x=姓名, y=身高, size=体重))
当然,一般来说我们需要调整一下,让它变得好看一些。使用scale_size来调整点的面积的大小。 如果要用直径来表示则用scale_radius。
ggplot(dat) + geom_point(aes(x=姓名, y=身高, size=体重), shape=1) + scale_y_continuous(limits=c(0, 200), expand=c(0,0))+ scale_size(limits=c(40, 180), breaks=c(40, 60, 80), range=c(4, 18), name="体重(Kg)") + xlab(NULL)+ ylab("身高/cm") + theme_bw()+ theme(legend.position="top")
或者我们还可以把体重数据标出来,把体重的图例去掉
ggplot(dat) + geom_point(aes(x=姓名, y=身高, size=体重), shape=1) + geom_text(aes(x=姓名, y=身高, label=体重))+ scale_y_continuous(limits=c(0, 200), expand=c(0,0))+ scale_size(limits=c(40, 180), breaks=c(40, 60, 80), range=c(4, 18), name="体重(Kg)") + xlab(NULL)+ ylab("身高/cm") + theme_bw()+ theme(legend.position="none")
效果看起来如下,很显然,点越大体重越大,比较直观看出体重的差别,也能够比较直观看出身高的差别。
另外,也可以给点加上颜色,让颜色的深浅表示一个维度的数据,或者表示分组。 这就显得很灵活了。很简单地使用? geom_point查看可以使用的维度。
本网页已被访问6938次。 最后编辑时间(Last modified): 2020/10/30 16:34