当前位置:K88软件开发文章中心编程全书编程全书02 → 文章内容

用R语言绘制直方图——hist函数

减小字体 增大字体 作者:佚名  来源:翔宇亭IT乐园  发布时间:2019-1-3 3:02:34

:2018-07-08 10:58:34

直方图(Histogram)又称柱状图,是一种统计报告图,由一系列高度不等的纵条纹或线段表示的数据分布情况。可以使用直方图估计数据的概率分布情况。

在R语言中,可以使用hist()函数来绘制直方图。

其使用的格式为:

hist(x, breaks = "Sturges",
freq = NULL, probability = !freq,
include.lowest = TRUE, right = TRUE,
density = NULL, angle = 45, col = NULL, border = NULL,
main = paste("Histogram of" , xname),
xlim = range(breaks), ylim = NULL,
xlab = xname, ylab,
axes = TRUE, plot = TRUE, labels = FALSE,
nclass = NULL, warn.unused = TRUE, …)

主要参数的含义如下:

(1)x

向量,直方图所用到的数据。

(2)breaks

直方图的断点,主要有以下几种情况:

①可以是一个向量给出直方图中每个区间的断点;

②可以是一个函数用于计算每个断点的向量;

③用于表示区间数的一个数字;

④一个字符串用于给出计算区间数所使用的算法;

⑤一个用于计算区间数的函数。

(3)freq

逻辑变量,如果设置为TRUE,则直方图的数据为频数,若为FALSE,则为概率密度。

当仅当breaks为等距,且为指定probability时,freq默认为TRUE。

(4)probability

与!freq的含义相同。

(5)include.lowest

逻辑值,如果为TRUE,则如果数据x[i]等于断点值,则会包含在第一个区间条中(如right参数为FALSE,则会包含在下一个区间中)。除非breaks是向量,否则设置会被忽略并给出一个警告错误。

(6) right

逻辑值。如果设置为TRUE,则直方图条右侧区间是封闭的(左侧开放)。

(7)density

指阴影线的密度,即每英寸(2.54厘米)的线数。默认值为NULL值,意味着没有阴影线。非正值也不会绘制阴影线。

(8)angle

指阴影线的斜度,以逆时针角度给出。默认为45度。

(9)col

填充条形使用的颜色。默认值为NULL,即没有填充色。

(10)border

数字或字符串,用于描述条形边框的颜色。默认为NULL,即使用标准前景色。

(11)main, xlim, ylim, xlab, ylab

见本站关于plot函数中的说明(R语言中plot函数的使用

(12)axes

逻辑值。默认为TRUE,绘图时绘制轴。

(13)labels

逻辑值。默认为FALSE,如果为TRUE,则在条形框的顶端给出标签(频数或密度)。

下面举几个例子:

(1)绘制19名学生的身高频率直方图。

Height<-c(144,166,163,143,152,169,130,159,160,175,161,170,146,159,150,183,165,146,169)
hist(Height,col="lightblue",border="red",labels=TRUE,ylim=c(0,7.2)) 

结果如下图:

(2)hist(Height,breaks=12,freq=FALSE,density=10,angle=60)

结果如下图:

(3)

data <- c(rep(1, 10), rep(2, 5), rep(3, 6))
hist(data, breaks = c(0.5, 1.5, 2.5, 3.5))

结果如下:


用R语言绘制直方图——hist函数