参考自《R Graphics Cookbook》
核密度曲线类似于概率密度曲线,其曲线下的面积是1,因此其y轴上的单位通常是小于1的核密度分布值。
对这个核密度曲线求积分的结果为1,也就是其曲线下的面积为1(应该是这个意思)。
实质是一种对直方图的抽象。类似统计学中的频数分布图和概率密度函数的区别。
library(ggplot2)
一、
#使用geom_densit生成密闭的密度图
ggplot(faithful, aes(x = waiting)) +
geom_density()
二、
#使用geom_line(stat = "density")生成不密闭的密度图
ggplot(faithful, aes(x = waiting)) +
geom_line(stat = "density") +
expand_limits(y = 0)
三、
#通过adjust参数调整核密度图的平滑程度
#adjust默认为1,越大越平滑
ggplot(faithful, aes(x = waiting)) +
geom_line(stat = "density") +
geom_line(stat = "density", adjust = 0.25, colour = "red") +
geom_line(stat = "density", adjust = 2, colour = "blue")
四、
###在直方图上添加核密度图
##但二者y轴单位不同,核密度图的y轴通常小于1
#需要映射给y = ..density.. 缩小直方图的y轴单位来适应核密度图
ggplot(faithful, aes(x = waiting, y = ..density..)) +
geom_histogram(fill = "cornsilk", colour = "grey60", size = .2) +
geom_density() +
xlim(35, 105)