7、科研作图之箱型图详解——ggplot2

一、数据准备

#数据准备
data("ToothGrowth")
ToothGrowth$dose = factor(ToothGrowth$dose)
head(ToothGrowth)

7、科研作图之箱型图详解——ggplot2_第1张图片

使用R自带的数据库进行测试,数据包括len,supp,dose,其中len作为具体数值y,其他两个分组均作为因素数据进行分析作图。

二、基本语法

1、单组数据

library(ggplot2)

p = ggplot(ToothGrowth, aes(x = dose, y = len))
p + geom_boxplot() #图1

2、多组数据

使用supp作为分组依据,supp包括OJ和VC两类。

p + geom_boxplot(aes(fill = supp), position = position_dodge(1))#图2

7、科研作图之箱型图详解——ggplot2_第2张图片 图1 7、科研作图之箱型图详解——ggplot2_第3张图片 图2

三、基础进阶

以下的变化都是在图1(单组数据)的基础上进行的变化,多组数据的变化同理可用。

1、横纵坐标交换

p + geom_boxplot() + coord_flip()

2、哑铃型箱型图

p + geom_boxplot(notch = TRUE)

notch参数为TRUE是哑铃型,FALSE为方箱型。 

7、科研作图之箱型图详解——ggplot2_第4张图片 横纵坐标交换 7、科研作图之箱型图详解——ggplot2_第5张图片 哑铃型箱型图

3、添加平均值点

p + geom_boxplot() + stat_summary(fun.y = mean, geom = "point",
             shape = 18, size = 4, color = "red")

 shape为添加点的类型,在散点图详解一文已经有详细介绍。

4、自定义横坐标

p + geom_boxplot() + 
  scale_x_discrete(limits=c("0.5", "2"))

 可见,在规定横坐标时,可以去掉一些不想要的组,如上面我们就去掉了dose=1.5的一组数据。

7、科研作图之箱型图详解——ggplot2_第6张图片 添加平均值点 7、科研作图之箱型图详解——ggplot2_第7张图片 自定义横坐标

5、自定义箱体颜色

#不同箱体颜色(内部)基础默认颜色

p + geom_boxplot(aes(fill = dose))

#自定义每个箱体颜色
#填充颜色
p + geom_boxplot(aes(fill = dose)) + 
  scale_fill_manual(values=c("blue", "yellow", "grey"))

#线条颜色
p + geom_boxplot(aes(color = dose)) + 
  scale_color_manual(values=c("blue", "yellow", "grey"))

#多组数据的箱型图
p + geom_boxplot(aes(fill = supp), position = position_dodge(1)) +
  scale_fill_manual(values=c("yellow", "grey"))

 小结论:

在ggplot2作图中,参数fill都是表示内部的填充颜色

参数color都表示线条(边框)的颜色。

7、科研作图之箱型图详解——ggplot2_第8张图片 不同箱体颜色(内部)基础默认颜色 7、科研作图之箱型图详解——ggplot2_第9张图片 填充颜色定义 7、科研作图之箱型图详解——ggplot2_第10张图片 线条颜色定义 7、科研作图之箱型图详解——ggplot2_第11张图片 多组数据的箱型图颜色定义

你可能感兴趣的:(R语言作图之ggplot2,信息可视化,开发语言,r语言,数据分析,数据库)