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

R语言绘制抖动散点图

作者头像
一粒沙
发布2019-07-31 14:23:43
3.5K0
发布2019-07-31 14:23:43
举报
文章被收录于专栏:R语言交流中心R语言交流中心

大家应该在很多文章中看到类似箱线图或者小提琴形状的散点图。有时候的确给文章增彩不少,这种图就是抖动散点图。今天我们给大家介绍一个绘制抖动散点图的R包ggbeeswarm,但是呢,如果真正多样化绘制还需要ggplot2的协助。那么也就是我们需要两个包来完成我们抖动散点图的绘制:ggbeeswarm和ggplo2。具体安装我们不再赘述,ggplot2的使用可以参考我们前面的《R语言绘图之ggplot2》

接下来我们看下是如何绘制,首先我们准备好前期工作包的载入以及数据的生成。

library(ggplot2)

library(ggbeeswarm)

set.seed(12345)

n<-100

dat<-rnorm(n*2)

接下来我们绘制简单的抖动散点图:

labs<-rep(c('a','b'),n)

ggplot(mapping=aes(labs, dat)) +geom_quasirandom()

那么如何为两组数据增加颜色呢,具体实例如下:

ggplot(mapping=aes(labs,dat))+geom_quasirandom(aes(color=labs))

颜色添加后,我们可能需要对应的组的先后顺序需要按我们的设置改变那么就需要进行一定的改造,示例如下

labs2<-factor(labs,levels=c('b','a'))#level可以设置因子的先后顺序

ggplot(mapping=aes(labs2,dat))+geom_quasirandom(aes(color=labs))

有时候我们需要图形的方向发生改变,那么我们就需要对参数groupOnX进行设置,true代表垂直;false代表横着。实例如下

ggplot(mapping=aes(dat,labs))+geom_quasirandom(aes(color=labs),groupOnX=FALSE)

那我们如果需要对每一组数据设置子集,那么就用到了下面的程序:

labs2<-factor(rep(1:2,each=n))#设置子集的因子

ggplot(mapping=aes(labs,dat,color=labs2))+geom_quasirandom(dodge.width=.8)

当然抖动散点图不是所有的都会绘制出来很好看,这就需要我们自己去实践,下面是对不同个数样本的数据的绘制,到时候可以根据自己的数据选择是否适合,毕竟美观才是我们的目的。

dat <- list(

'10 points'=rnorm(10),

'50 points'=rnorm(50,2),

'200 points'=c(rnorm(400), rnorm(100,5)),

'5000 points'= rnorm(5000,1)

)

labs<-rep(names(dat),sapply(dat,length))

labs<-factor(labs,levels=unique(labs))

dat<-unlist(dat)

ggplot(mapping=aes(labs,dat))+geom_quasirandom(alpha=.3,varwidth=TRUE)

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-02-28,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

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