密度图是直方图的平滑版本,用于计算并绘制数据的核密度估计,能够更好的界定分布的形状。使用geom_density函数可以绘制密度图。
绘制密度图
使用数据如下:
set.seed(1234)
df <- data.frame(
  sex=factor(rep(c("F", "M"), each=200)),
  weight=round(c(rnorm(200, mean=55, sd=5),
                 rnorm(200, mean=65, sd=5)))
  )
head(df)
  sex weight
1   F     49
2   F     56
3   F     60
4   F     43
5   F     57
6   F     58
绘制基础密度图:
library(ggplot2)
# Basic density
p <- ggplot(df, aes(x=weight)) + 
  geom_density()
p
# Add mean line
p+ geom_vline(aes(xintercept=mean(weight)),
              color="blue", linetype="dashed", size=1)
 

更改线型和颜色:
# 更改线的颜色和填充 ggplot(df, aes(x=weight))+ geom_density(color="darkblue", fill="lightblue") # 更改线型 ggplot(df, aes(x=weight))+ geom_density(linetype="dashed")
 
 
绘制分组密度图
计算每组平均数:
library(plyr) mu <- ddply(df, "sex", summarise, grp.mean=mean(weight)) head(mu) sex grp.mean 1 F 54.70 2 M 65.36
绘制分组密度图:
# 更改密度图线的颜色
# 更改密度图线的颜色
ggplot(df, aes(x=weight, color=sex)) +
  geom_density()
# 添加平均数线
p<-ggplot(df, aes(x=weight, color=sex)) +
  geom_density()+
  geom_vline(data=mu, aes(xintercept=grp.mean, color=sex),
             linetype="dashed")
p
 

也可以使用以下功能手动更改密度打印线颜色:
•scale_color_manual():使用自定义颜色
•scale_color_brewer():使用RColorBrewer包中的调色板
•scale_color_grey():使用灰阶颜色
# 使用自定义颜色
p+scale_color_manual(values=c("#999999", "#E69F00", "#56B4E9"))
# 使用RColorBrewer包中的调色板
p+scale_color_brewer(palette="Dark2")
# 使用灰阶颜色
p + scale_color_grey() + theme_classic()
 
 

更改填充颜色:
# 按组更改密度图颜色
ggplot(df, aes(x=weight, fill=sex)) +
  geom_density()
# 使用半透明填充
p<-ggplot(df, aes(x=weight, fill=sex)) +
  geom_density(alpha=0.4)
p
# 添加平均数线
p+geom_vline(data=mu, aes(xintercept=grp.mean, color=sex),
             linetype="dashed")
 
 
 
也可以使用以下功能手动更改密度图填充颜色:
•scale_fill_manual():使用自定义颜色
•scale_fill_brewer():使用RColorBrewer包中的调色板
•scale_fill_grey():使用灰阶颜色
# 使用自定义颜色
p+scale_fill_manual(values=c("#999999", "#E69F00", "#56B4E9"))
# 使用RColorBrewer包中的调色板
p+scale_fill_brewer(palette="Dark2")
# 使用灰阶颜色
p + scale_fill_grey() + theme_classic()
 
 

此外,我们在网易云课堂上有各种教学视频,有兴趣可以了解一下:
1. 文章越来越难发?是你没发现新思路,基因家族分析发2-4分文章简单快速,学习链接:基因家族分析实操课程
2. 转录组数据理解不深入?图表看不懂?点击链接学习深入解读数据结果文件,学习链接:转录组(有参)结果解读;转录组(无参)结果解读
3. 转录组数据深入挖掘技能-WGCNA,提升你的文章档次,学习链接:WGCNA-加权基因共表达网络分析
4. 转录组数据怎么挖掘?学习链接:转录组标准分析后的数据挖掘
6. 更多学习内容:linux、perl、R语言画图,更多免费课程请点击以下链接:
 
                如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!
