R语言绘制直方图

本文介绍了直方图与条形图的区别,重点讲解了直方图在展示数值型数据上的应用。直方图的横轴表示连续的数据范围,长方形面积代表频数大小。同时提到了直方图在展示数据分布和密度上的作用,并提供了一个简单的R语言绘制直方图的例子。此外,还提及了边际曲线的绘制作为补充。

简单总结一下直方图和条形图二者的区别,在统计学中:
1.条形图主要用于展示分类数据,多用来表示不同组别的差异;直方图则主要用于展示数值型数据;
2.条形图中横轴上的数据是孤立的,是具体的数值;直方图横轴上的数据是连续的,是一个范围;
3.条形图中各个数据之间是相互独立的,两两条形之间留有空隙;直方图中长方形之间没有空隙
4.条形图是用条形的高度表示频数大小;在直方图中,各个长方形的面积表示频数大小

下面是绘制显示数据分布和密度的直方图的小例子。

####显示数据分布和密度的直方图
##创建数据集
set.seed(1234)
wdata = data.frame(
  sex = factor(rep(c("F", "M"), each=200)),
  weight = c(rnorm(200, 55), rnorm(200, 58))
)
head(wdata, 4)

library("dplyr")
mu <- wdata %>%
  group_by(sex) %>%
  summarise(grp.mean = mean(weight))
mu
##基础图形
library("ggplot2")
a <- ggplot(wdata, aes(x = weight))

#绘制基础直方图,添加一条与权重变量平均值对应的竖线
a + geom_histogram(bins = 30, color = "black", fill = "gray") +
  geom_vline(aes(xintercept = mean(weight)),
             linetype = "dashed", size = 0.6)

在这里插入图片描述

# 改变线条颜色
a + geom_histogram(aes(color = sex), fill = "white",
                   position = "identity") +
  scale_color_manual(values = c("#00AFBB", "#E7B800"))

在这里插入图片描述

# 改变密度填充区域和轮廓的颜色
a + geom_histogram(aes(color = sex, fill = sex),
                   alpha = 0.4, position = "identity") +
  scale_fill_manual(values = c("#00AFBB", "#E7B800")) +
  scale_color_manual(values = c("darkolivegreen1", "lightskyblue"))

在这里插入图片描述

##绘制显示数据分布和密度的直方图
a + geom_histogram(aes(y = ..density..),
                   colour="white", fill="pink") +
  geom_density(alpha = 0.2, fill = "black")

在这里插入图片描述

# 按分组设置颜色
a + geom_histogram(aes(y = ..density.., color = sex),
                   fill = "white",
                   position = "identity")+
  geom_density(aes(color = sex), size = 1) +
  scale_color_manual(values = c("#868686FF", "darkseagreen"))

在这里插入图片描述
补充:相关的还有边际曲线的绘制

library(ggplot2)
library(ggExtra)

head(mtcars)

# 绘图
p <- ggplot(mtcars, aes(x=wt, y=mpg, color=cyl, size=cyl)) +
  geom_point() +
  theme(legend.position="none")
p

在这里插入图片描述

# 边际直方图
p1 <- ggMarginal(p, type="histogram")
p1

在这里插入图片描述

# 边际密度图
p2 <- ggMarginal(p, type="density")
p2

在这里插入图片描述

#边际箱线图
p3 <- ggMarginal(p, type="boxplot")
p3

在这里插入图片描述
关注“作图帮”公众号,免费分享绘图代码与示例数据~

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值