假如我们有如下二维数据
x <- rnorm(100000,1,0.1)
y <- rnorm(100000,1,0.1)
用最简单的plot绘图
plot(x,y)
可以看到中间一大片区域的点聚在一起,看不清有多少。
下面介绍的这个R包:IDPmisc可以帮助我们为这个图加上第三个参数——密度
IDPmisc下载和安装
install.packages("IDPmisc")
library(IDPmisc)
简单密度散点图绘制
iplot(x,y)
可以看到这个语句自动为我们的散点图计算了密度,并用颜色进行表示。
指数变换密度散点图绘制
iplot(x,y,ztransf=function(x){x[x<1] <- 1; log2(x)},zmax=7)
可以看到这张图和上一张图的不同,我们将密度做了log2变换,图例上的数字代表2的次方(如6就是2^6),更适合展现密度呈现指数分布的散点图。
ztransf是自定义了指数变换的方式
zmax是图中每个像素的最大计数数。当为空时,散点图中的密度被编码为从0到观察到的每个像素的最大计数。zmax必须等于或大于找到的最大计数数。每个像素的最大计数由返回值提供。