春风轻浮,开遍十里桃花,小酌温酒,难却焚香静卧。
于直方图之间纵横捭阖,洞悉天下数据之分布。挥袖中浮尸千里、血流成河,转念间退却百万雄狮。
气派呵!今日少年指点江山,扭转日月。
1
入门
library(tidyverse)
library(gcookbook)
library(plyr)
#入门
#数据集 birthwt,直方图只传入一列数据
ggplot(birthwt,aes(age)) +
#绘制很丑的直方图,默认30个分组
geom_histogram()
2
进阶
#进阶
#调用数据集
ggplot(birthwt,aes(age)) +
#将数据分为15组,改变填充色和线的颜色
geom_histogram(bins = 15,fill='white',colour='red')
#调用数据集
ggplot(birthwt,aes(age)) +
# range 返回最大及最小值,diff 求两值的差,于是得到区间长度,分为15组
geom_histogram(binwidth = diff(range(birthwt$age))/15,
#填充色,颜色,线宽
fill='pink',colour='red',size=0.6) +
#更改X轴的标签
xlab(label = 'Age') +
#更改Y轴的标签
ylab(label = 'Count') +
#更改主题
theme_bw() +
#去除X、Y轴主刻度线
theme(panel.grid.major = element_blank(),
#去除X、Y轴次刻度线
panel.grid.minor = element_blank(),
#改变X轴文本的角度为60°
axis.text.x = element_text(angle = 60,hjust = 1))
3
精通
#精通
#复制一份数据
birthwt_1 <- birthwt
#将smoke列变为因子
birthwt_1$smoke <- factor(birthwt_1$smoke)
#将smoke中的0、1改为不吸烟、吸烟
birthwt_1$smoke <- revalue(birthwt_1$smoke,c('0'='No smoke','1'='smoke'))
ggplot(birthwt_1,aes(x=age)) +
#填充色及线的颜色
geom_histogram(fill='white',colour='black') +
#用smoke以‘行’进行分面
facet_grid(smoke ~ .)
#以smoke进行分组
ggplot(birthwt_1,aes(x=age,fill=smoke)) +
geom_histogram(position = 'identity',alpha=0.4,colour='black')
4
密度曲线
#绘制密度曲线
ggplot(birthwt,aes(age)) +
#默认
geom_density() +
#分组太细,出现锯齿
geom_density(adjust=0.25,colour='red') +
#分组较宽
geom_density(adjust=3,colour='blue')
#将直方图与密度曲线绘制在一起
#由于直方图与密度曲线的Y轴刻度不一致,因此要加 y=..density..
ggplot(birthwt,aes(x=age,y=..density..)) +
#绘制直方图,填充色,线颜色
geom_histogram(fill='cornsilk',colour='grey60') +
#绘制密度曲线,线颜色
geom_density(colour='red')
#以smoke分组绘制密度曲线
ggplot(birthwt_1,aes(x=age,fill=smoke)) +
#调整透明度
geom_density(alpha=0.4)
#将直方图与密度曲线绘制在一起并进行分面
ggplot(birthwt_1,aes(x=age,y=..density..)) +
#绘制直方图
geom_histogram(fill='cornsilk',colour='grey60') +
#绘制密度曲线
geom_density(colour='red') +
#利用smoke按照‘行’进行分面
facet_grid(smoke ~ .)
疯也温柔,癫也温柔。数据带来的真实以数与形的呈现出来,这才是自然界最美的真实。
下期再见。
你可能还想看
R小姐:利用ggplot2绘制散点图
R小姐:折线图、条形图、直方图、箱图、函数曲线
R小姐:克利夫兰点图(Cleveland dot plot)
R小姐:直线图详解,几行代码点秋香
等你很久啦,长按加入古同社区