8、科研作图之直方图详解——ggplot2

数据准备

假设有200个男性和200个女性的身高数据(这里使用随机函数生成)。

#数据准备
set.seed(96)
df = data.frame(
  sex = factor(rep(c("F", "M"), each=200)),
  height = c(rnorm(200, 170), rnorm(200, 165)))
head(df)

8、科研作图之直方图详解——ggplot2_第1张图片

基础语法

p = ggplot(df,aes(x = height))

p + geom_histogram(bins = 50,color = "black", fill = "gray")

 其中:

bins:用于规定 总柱体的条数;

 8、科研作图之直方图详解——ggplot2_第2张图片

添加平均值线

 #添加平均值线
p + geom_histogram(bins = 50,color = "black", fill = "gray") +
  geom_vline(aes(xintercept=mean(height)),
           color="blue", linetype="dashed", size=1)

8、科研作图之直方图详解——ggplot2_第3张图片

两组数据共图

按不同的性别按不同颜色显示:

#按不同性别不同颜色显示
p + geom_histogram(aes(color = sex), fill = "white",alpha = 0.6)

8、科研作图之直方图详解——ggplot2_第4张图片 

添加密度曲线

添加总的曲线

#添加总的频率线
p + geom_histogram(aes(y=..density..), colour="black", fill="white") +
  geom_density(alpha=0.6,fill = "grey")
 

8、科研作图之直方图详解——ggplot2_第5张图片 

 

分组添加曲线

 #按性别添加频率线
p + geom_histogram(aes(y=..density.., color = sex, fill = sex),
                   alpha=0.5, position="identity")+
  geom_density(aes(color = sex), size = 1)

8、科研作图之直方图详解——ggplot2_第6张图片

至此完成基本的六种科研常用作图的绘制...

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