用R画boxplot+dotplot+violinplot+jitter及代码

微信公众号:生物信息学习

我们在想要展示我们的科研成果的时候经常会需要用到一些图,其中boxplot,dotplot,violinplot和jitter等是我们经常要用到的图,那我们会画单个图后如何把这些图整合到一张图上呢,下面小编就给大家介绍。
首先violin的代码如下:

library(ggplot2)
theme_set(theme_bw())
g <- ggplot(mpg, aes(class, cty))

##violin plot
g + geom_violin(col="red") +
  labs(title="Violin plot",
       subtitle="City Mileage vs Class of vehicle",
       caption="Source: mpg",
       x="Class of Vehicle",
       y="City Mileage")

结果图如下所示:

image

boxplot的代码如下所示:

##boxplot
g+geom_boxplot(width=.1,col="green") ##col设置颜色,width设置宽度

结果图如下所示:

image

dotplot代码如下所示:

##dotplot
g+geom_dotplot(binwidth=0.5,binaxis='y',
               stackdir='center',
               dotsize = .5,
               fill="yellow")
image

把点分开排列的代码如下所示

##jitter
g+geom_point(position = "jitter", color="blue", alpha=.8)

结果图如下所示:

image

那如何把这些图都在一张图上展示呢?用“+”连接就可以了,具体代码如下所示:

##combine all
g + geom_violin(col="red") +
 labs(title="Violin plot",
      subtitle="City Mileage vs Class of vehicle",
      caption="Source: mpg",
      x="Class of Vehicle",
      y="City Mileage")+geom_boxplot(width=.1,col="green")+
   geom_point(position = "jitter", color="blue", alpha=.5)+
   geom_dotplot(binwidth=0.5,binaxis='y',
              stackdir='center',
              dotsize = .5,
              fill="yellow")

最终的结果图就展示在大家面前了:
image

恭喜你,又学到了一个新技能。有任何问题,欢迎留言。

微信公众号:生物信息学习,后台回复BDVJ,即可获得代码。

你可能感兴趣的:(用R画boxplot+dotplot+violinplot+jitter及代码)