如何用R语言绘制密度图

发布时间:2022-01-20 10:58:03 作者:iii
来源:亿速云 阅读:354

这篇文章主要介绍了如何用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 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()

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

推荐阅读:
  1. python如何绘制直方图和密度图
  2. 如何用Python绘制天气图

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

r语言

上一篇:Python程序流程控制的示例分析

下一篇:Html5+JS如何实现手机摇一摇功能

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》