ggplot2 – 二维数据密度图

  • A+
所属分类:Script

地理课上,我们经常会看到等高线。在ggplot2中,也有实现一个和等高线差不多的利器

  • stat_density2d()

看个例子先

	# The base plot
	p <- ggplot(faithful, aes(x=eruptions, y=waiting))
	p + geom_point() + stat_density2d()

stat2d_1

我们可以在原始图中添加类似登高线的表示,用以标记密集程度。

	# Contour lines, with "height" mapped to color
	p + stat_density2d(aes(colour=..level..))

stat2d_2

# Map density estimate to fill color
p + stat_density2d(aes(fill=..density..), geom="raster", contour=FALSE)

stat2d_3

# With points, and map density estimate to alpha
p + geom_point() +stat_density2d(aes(alpha=..density..), geom="tile", contour=FALSE)

stat2d_4

同一维的密度曲线一样,stat_density2d也可以调整binwidth用h()函数即可 体会下下面的这个例子

p + stat_density2d(aes(fill=..density..), geom="raster", contour=FALSE, h=c(.5,5))

stat2d-5

原文来自:http://yangchao.me/2013/11/ggplot2-2d-density/

以上代码和图片可以从这里下载:http://pan.baidu.com/s/1sw5uP

avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: