R语言中级绘图--高密度图

本章,我们主要关注用于展示双变量间关系和多变量间关系的绘图方法
当数据点重叠很严重时,用散点图来观察变量关系就显得“力不从心”,这时就需要使用高密度图来显示双变量之间关系。
示例

#设置数据
set.seed(1234)
n <- 10000
c1 <- matrix(rnorm(n,mean = 0,sd=0.5),ncol=2)
c2 <- matrix(rnorm(n,mean=3,sd=2),ncol=2)
mydata <- rbind(c1,c2)
#把矩阵转换为表格
mydata <- as.data.frame(mydata)
names(mydata) <- c("x","y")
attach(mydata)
#制作散点图
plot(mydata$x,mydata$y,pch=19,main="Scatter Plot with 10000 Observations")
#数据点的重叠导致识别x与y间的关系变得异常困难,可以使用封箱,颜色和透明度来指明图中任意点上的重叠的数目
#smoothScatter()函数可以利用核密度估计生成用颜色密度来表示点分布的散点图
#代码如下
attach(mydata)
smoothScatter(mydata$x,mydata$y,main="Scatter Plot Colored by smoothed Densities")

在这里插入图片描述
在这里插入图片描述

hexbin包中的hexbin()函数将二元变量的封箱放在六边形单元格中。
用六边形封箱图展示各点上覆盖观测点数目
示例如下
其中数据是上例中的数据

install.packages("hexbin")
library(hexbin)
attach(mydata)
#xbins用来控制生成的六边形的数量,xbins越少生成的六边形的数量越少,每个六边形包含的点就越多
bin <- hexbin(mydata$x,mydata$y,xbins=20)
plot(bin,main="Hexagonal Binning with 10000 Observations")

在这里插入图片描述
小结:
绘制散点图时,当点的数量非常多时就不容易看出趋势,这时就需要使用高密度图
绘制高密度图有两种方式,分别使用smoothscatter()函数和hexbin包中的hexbin()函数
使用smoothscatter()函数时点的密度不同会呈现不同的颜色,密度越高颜色越深。
使用hexbin()函数时会把点封装在相同大小不同颜色的六边形中,每个六边形封装的点越多颜色越深,一次来观察点的趋势。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值