R语言中hist函数绘制直方图

发布时间 2023-07-14 10:11:31作者: 小鲨鱼2018

 

R语言中使用hist函数绘制直方图,参数为一个向量。

 

001、

dat <- c(rep(1, 10), rep(2, 5), rep(3, 6))      ## 参数为一个向量
dat
hist(dat)                                       ## 直接绘图

 

 

 

横坐标为区间, 纵坐标为落入该区间的频数 。 

 

002、 break参数用于指定断点, 参数为一个向量

dat <- c(rep(1, 10), rep(2, 5), rep(3, 6))
dat
hist(dat, breaks = c(0.5, 1.5, 2.5, 3.5))            ## break参数指定断点

 

绘图效果如下:

 

003、指定纵坐标显示频数或者频率

par(mfrow = c(1, 2))
data <- c(rep(1, 10), rep(2, 5), rep(3, 6))                             ## 参数向量
length(data)
data
hist(data, breaks = c(0.5, 1.5, 2.5, 3.5), freq = T, main = "001")      ## freq = T,纵坐标显示频数
hist(data, breaks = c(0.5, 1.5, 2.5, 3.5), freq = F, main = "002")      ## freq = F,纵坐标显示频率

 

绘图结果如下:

 

004、指定纵坐标显示频数还是频率

par(mfrow = c(1, 2))
data <- c(rep(1, 10), rep(2, 5), rep(3, 6))
data
length(data)
hist(data, breaks = c(0.5, 1.5, 2.5, 3.5), probability = T, main = "001")     ## probability = T, 显示频率
hist(data, breaks = c(0.5, 1.5, 2.5, 3.5), probability = F, main = "002")     ## parobability = F, 显示频数

 

 

 

005、指定每个柱子的标签

dat <- c(rep(1, 10), rep(2, 5), rep(3, 6))
dat
hist(dat, breaks = c(0.5, 1.5, 2.5, 3.5), labels = c("A", "B", "C"))    ## 使用labels选项指定柱子的标签

 

绘图结果如下:

 

006、是否添加轴线

par(mfrow = c(1, 2))
dat <- c(rep(1, 10), rep(2, 5), rep(3, 6))
dat
hist(dat, breaks = c(0.5, 1.5, 2.5, 3.5), axes = T, main = "001")     ## 利用axes = T或者F,决定是否添加轴线
hist(dat, breaks = c(0.5, 1.5, 2.5, 3.5), axes = F, main = "002")

 绘图如下:

 

007、添加柱子填充色

par(mfrow = c(1, 2))
dat <- c(rep(1, 10), rep(2, 5), rep(3, 6))
dat
hist(dat, breaks = c(0.5, 1.5, 2.5, 3.5), col = "pink")        ## 用col选项指定填充色
hist(dat, breaks = c(0.5, 1.5, 2.5, 3.5), col = rainbow(3))

 

绘图结果如下:

 

008、指定柱子边框的颜色

par(mfrow = c(1, 3))
dat <- c(rep(1, 10), rep(2, 5), rep(3, 6))
dat
hist(dat, breaks = c(0.5, 1.5, 2.5, 3.5),  
     col = rainbow(3))                      ## 默认黑色
hist(dat, breaks = c(0.5, 1.5, 2.5, 3.5), 
    border = NA)                            ## 无边框
hist(dat, breaks = c(0.5, 1.5, 2.5, 3.5), 
      border = "purple")                    ## 设定为紫色

 

 

009、填充柱子

density 指定线条密度

par(mfrow = c(1, 3))
dat <- c(rep(1, 10), rep(2, 5), rep(3, 6))
dat
hist(dat, breaks = c(0.5, 1.5, 2.5, 3.5),  density = 1, main  = "density = 1")     ## 增加density选项
hist(dat, breaks = c(0.5, 1.5, 2.5, 3.5),  density = 2, main  = "density = 2")
hist(dat, breaks = c(0.5, 1.5, 2.5, 3.5),  density = 3, main  = "density = 3")

 

绘图如下:

 

 

010、angle 控制线条的角度,必须和density 参数配合使用,才能发挥作用

par(mfrow = c(1, 3))
dat <- c(rep(1, 10), rep(2, 5), rep(3, 6))
dat                                        ## 调整线条的角度
hist(dat, breaks = c(0.5, 1.5, 2.5, 3.5),  density = 2, angle = 45,  main  = "angle = 45")
hist(dat, breaks = c(0.5, 1.5, 2.5, 3.5),  density = 2, angle = 90,  main  = "angle = 90")
hist(dat, breaks = c(0.5, 1.5, 2.5, 3.5),  density = 2, angle = 180, main  = "angle = 180")

 

 

011、hist的返回值

dat <- c(rep(1, 10), rep(2, 5), rep(3, 6))
a <- hist(dat, breaks = c(0.5, 1.5, 2.5, 3.5))
a         ## hist的返回值

 

breaks:断点;   counts:频数;   mids:每个柱子的中点;   



来源:https://www.cnblogs.com/xudongliang/p/6913363.html