公海赌船网址-公海赌船555000

2018-10-09浏览量:1580

ggplot2箱线图

箱线图是利用数据中的五个统计量:最小值、第一四分位数、中位数、第三四分位数与最大值来描述数据的一种方法,它也可以粗略地看出数据是否具有对称性,分布的分散程度等信息,特别可以用于对几个样本的比较。使用R自带的boxplot函数绘制的箱线图可能让你很不满意,今天给大家介绍使用基于ggplot2的可视化包ggpubr的ggboxplot函数来绘制让你满意的boxplot图。

一、基础绘图(以R自带数据包ToothGrowth为例)

1.1 首先,加载数据集,输入原始数据

> install.packages("ggplot2")

> library("ggplot2")

> install.packages("ggpubr")

> library("ggpubr")

> data("ToothGrowth")

> dt <- ToothGrowth

输入数据格式如下,若数字格式不是这样可以使用reshape2包中的melt函数进行转换:

1.2  然后画图

> p <- ggboxplot(df1, x="dose", y="len")

> p

如果不对参数进行任何修改,仅用默认参数,得到的图形是这个样子的。

得到原始图片比较简单,想要用到文章当中还是需要再进行一番修改。

 二、调整参数设置     

 2.1 参数修改:

fill填充颜色

palette设置填充的颜色,其中npg为杂志nature的配色

width设置箱图的宽度

size调整轮廓和点的大小

xlab,ylab设置x轴、y轴的标签

font.x,font.y设置x轴、y轴标签的大小

font.xtickslab,font.ytickslab设置x轴、y轴坐标的大小

> p <- ggboxplot(df1, x="dose", y="len", fill="dose", palette = "npg", width = 0.5,size = 0.8,

xlab = FALSE,ylab = "Length",font.y=20,font.xtickslab = 20,font.ytickslab = 20)

> p

调整后的箱图已经基本布局已经改观了不少:

2.2  其他层添加

> p <- p + scale_x_discrete(limits=c("0.5", "1", "2")) +    

#自定义x轴的标签位置

   labs(title = "Comparison of different doses")+

#添加标题,也可添加x轴、y轴的标签

   theme(legend.position='none',plot.title = element_text(size=25,hjust = 0.5))

#设置主题,去掉图例;plot.title设置标题的属性,如大小、位置等

> p

 

箱线用于几个样本的比较,单从图上来看我们很难判断这三组样本之前是否显著差异,因此我们再添加统计层。

> p <- p+stat_compare_means(comparisons = list(c("0.5", "1"), c("1", "2"), c("0.5", "2")),label= "p.signif")

> p


下一篇

版权所有 公海赌船555000 沪ICP备16022951号