Part1 1.5~1.9
目录
- 1.1 绘制简单直方图
- 1.2 基于分组数据绘制分组直方图
- 1.3 绘制密度曲线
- 1.4 基于分组数据绘制分组密度曲线
- 1.5 绘制频数多边形
- 1.6 绘制基本箱线图
- 1.7 向箱线图添加槽口
- 1.8 向箱线图添加均值
- 1.9 绘制小提琴图
1.5 绘制频数多边形
使用geom_freqpoly()函数即可
# 简单使用geom_freqpoly()函数绘制频数多边形
ggplot(faithful, aes(x=waiting)) +
geom_freqpoly()

# 增加组距
ggplot(faithful, aes(x=waiting)) +
geom_freqpoly(binwidth=4)

1.6 绘制基本箱线图
使用geom_boxplot()函数绘制,分别应设一个连续型变量和一个离散型变量到y和x即可
library(MASS)
ggplot(birthwt, aes(x=factor(race), y=bwt)) +
geom_boxplot()

width参数可以修改箱线图的宽度
ggplot(birthwt, aes(x=factor(race), y=bwt)) +
geom_boxplot(width=.2)

如果异常值较多且图形有重叠的话,可通过是指outlier.size和outlier.shape参数修改异常值的大小和点形,默认大小是2,点形为16,即实心圆
ggplot(birthwt, aes(x=factor(race), y=bwt)) +
geom_boxplot(outlier.size = 1.5, outlier.shape = 21)

1.7 向箱线图添加槽口
添加槽口(notch)比较各组数据的中位数是否有差异
使用geom_boxplot(0函数并设定参数notch=TRUE
ggplot(birthwt, aes(x=factor(race), y=bwt)) +
geom_boxplot(notch=TRUE)

1.8 向箱线图添加均值
添加均值标记使用stat_summary()函数
library(MASS)
ggplot(birthwt, aes(x=factor(race), y=bwt)) +
geom_boxplot() +
stat_summary(fun.y="mean", geom="point", shape=23, size=3, fill="white")

1.9 绘制小提琴图
小提琴图的绘制使用geom_violin()函数即可
library(gcookbook)
library(ggplot2)
p <-ggplot(heightweight, aes(x=sex, y=heightIn))
p + geom_violin()

fig-1.9.1.png
小提琴图+箱线图
p <-ggplot(heightweight, aes(x=sex, y=heightIn))
p + geom_violin() +
geom_boxplot(width=.1, fill="black", outlier.colour = NA) +
stat_summary(fun.y=median, geom="point", fill="white", shape=21,size=2.5)

adjust可以调整平滑度
p <-ggplot(heightweight, aes(x=sex, y=heightIn))
p + geom_violin(adjust=.3) +
geom_boxplot(width=.1, fill="black", outlier.colour = NA) +
stat_summary(fun.y=median, geom="point", fill="white", shape=21,size=2.5)
