在 R 中绘制直方图上的正态分布
在本文中,我们将讨论如何在 R 编程语言中绘制直方图上的正态分布。
在随机数据集中,通常观察到数据的分布是正常的,即在使用密度图进行可视化时,x 轴和 y 轴上的变量值我们得到钟形曲线。该曲线的中心代表数据集的平均值。但是即使是平滑的密度图也不会显示真实值,而是显示正态分布。为了解决这种情况,我们使用带有正态分布叠加的直方图。在这种情况下,直方图给出了绘制条形的实际值,而叠加密度图则显示了正态分布趋势。
为此,我们使用 rcompanion 包的 plotNormalHistogram()函数。此函数将数据向量作为参数,并绘制一个具有最佳拟合密度图的直方图作为叠加图。
安装
要安装 rcompanion 软件包:
install.packages("rcompanion")
具有正态分布叠加的直方图
要创建具有密度图的正态分布叠加的基本直方图,我们使用 R 语言中 rcompanion 包库的 plotNormalHistogram()函数。
句法:
plotNormalHistogram( x, prob, col, main, length)
参数:
- x:确定绘图的数据向量
- prob:这是一个布尔值。如果为 FALSE,则显示计数,否则显示密度。
- main:确定绘图的显示标题。
- 长度:确定密度图线中的点数。
例子:
这里,是一个带有正态分布叠加的基本直方图。
R
# load library rcompanion
library(rcompanion)
# create data vector
x= c(rnorm(10000))
# draw plot
plotNormalHistogram( x, prob = FALSE,
main = "Normal Distribution overlay on Histogram",
length = 1000 )
R
# load library rcompanion
library(rcompanion)
# create data vector
x= c(rnorm(10000, 2000, 45))
# draw plot using plotNormalHistogram() function
# use colour and size arguments for formatting plot
plotNormalHistogram( x, prob = FALSE, col="black", border="green",
main = "Normal Distribution overlay on Histogram",
length = 10000, linecol="red", lwd=3 )
输出:
颜色和尺寸定制
我们可以根据需要自定义上图的外观,通过使用 col、linecol、lwd 和 border 参数来更改直方图的条形颜色、密度图线的颜色、密度图的宽度线,以及直方图条形边框的颜色。因为 plotNormalHistogram()函数是在 hist()函数之上构建的,所以 hist()函数的所有参数也在这里工作。
句法:
plotNormalHistogram( x, col, linecol, lwd, border )
参数:
- col:确定直方图条的颜色。
- linecol:确定密度图线的颜色。
- lwd:确定密度图线的宽度。
- 边框:确定直方图条形边框的颜色。
例子:
这里,是一个带有正态分布叠加的直方图,带有带有绿色边框和红色粗密度图线的黑色条。
R
# load library rcompanion
library(rcompanion)
# create data vector
x= c(rnorm(10000, 2000, 45))
# draw plot using plotNormalHistogram() function
# use colour and size arguments for formatting plot
plotNormalHistogram( x, prob = FALSE, col="black", border="green",
main = "Normal Distribution overlay on Histogram",
length = 10000, linecol="red", lwd=3 )
输出: