R语言 叠加密度图
在这篇文章中,我们将讨论如何使用R编程语言的一些基础函数来叠加密度图。叠加密度图意味着在一个图上创建不同数据的一些密度图。
使用的函数
- Plot() : 这是一个用于绘制R对象的通用函数。
语法
plot(x, y, …)
参数
- x:绘图中的点的坐标。
- y:绘图中各点的y坐标。
- …:传递给方法的参数,比如说图形参数
-
Density(): 这是一个通用的密度函数,用于计算内核密度估计值。它的默认方法是用给定的核和带宽对单变量观测进行计算。
语法
density(x,…)
参数
- x:-要计算估计值的数据。
- …:–(非默认)方法的进一步参数。
返回
该函数将返回给定数据的密度图。
- Lines(): 这是一个通用函数,它以各种方式获取坐标,并以线段连接相应的点。
语法
lines(x, …)
参数
- x:-要连接的点的坐标向量。
- …:-进一步的图形参数
- R使用 hist() 函数创建柱状图。
语法
hist(v, main, xlab, xlim, ylim, breaks, col, border)
参数
- v: 这个参数包含直方图中使用的数值。
- main: 该参数main是图表的标题。
- col: 该参数用于设置柱状图的颜色。
- xlab: 该参数是水平轴的标签。 _
- border: 该参数用于设置每个条形图的边界颜色。
- xlim: 该参数用于绘制x轴的数值。
- ylim :该参数用于绘制Y轴的数值。
- breaks: 这个参数用来作为每个条形图的宽度。
叠加两个密度图可能看起来很复杂,但它与绘制相同的密度图一样简单。对于每一个其他的图,你只需要不断地用它们各自的密度调用函数,并将它们所需的机制添加到函数中,除了第一个以外,以保持在同一图上绘制它们。
例1 :
gfg <-rnorm(500)
a <- rnorm(200)
b <- rnorm(100)
plot(density(gfg))
lines(density(a), col = "red")
lines(density(b), col = "green")
legend("topright", c("gfg", "a", "b"),
col =c("black","red","green"), lty=1)
输出
例2 :
set.seed(99990)
data<-data.frame(a=round(rnorm(1000,50,50)))
data2<-data.frame(b=round(rnorm(600,30,30)))
data3<-data.frame(c=round(rnorm(300,10,10)))
hist(dataa, col="#abf5bf",main="overlaying histogram")
hist(data2b, col="#52d977", add=T)
hist(data3$c, col="#669172", add=T)
输出