千家信息网

如何用R语言绘制密度图

发表于:2024-11-25 作者:千家信息网编辑
千家信息网最后更新 2024年11月25日,这篇文章主要介绍了如何用R语言绘制密度图的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何用R语言绘制密度图文章都会有所收获,下面我们一起来看看吧。密度图是直方图的平滑版
千家信息网最后更新 2024年11月25日如何用R语言绘制密度图

这篇文章主要介绍了如何用R语言绘制密度图的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何用R语言绘制密度图文章都会有所收获,下面我们一起来看看吧。

密度图是直方图的平滑版本,用于计算并绘制数据的核密度估计,能够更好的界定分布的形状。使用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 weight1   F     492   F     563   F     604   F     435   F     576   F     58

绘制基础密度图:

library(ggplot2)# Basic densityp <- ggplot(df, aes(x=weight)) +   geom_density()p# Add mean linep+ 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.mean1   F    54.702   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()

关于"如何用R语言绘制密度图"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"如何用R语言绘制密度图"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。

0