1047521767 发表于 2021-10-29 10:55

R语言绘制二维密度图

R语言绘制二维密度图二维密度图显示了两个数值变量之间的关系,一个在x轴上表示,另一个在Y轴上表示,与散点图类似,然后计算二维空间中特定区域内的观测数,并用颜色梯度表示。二维密度图有几种类型,以下主要展示二维直方图和Hexbin图的绘图代码。

R语言|绘制二维直方图
对于2d直方图,plot区域被划分为多个正方形,调用geombin2d()函数,它提供了一个bins参数,用于控制要显示的bins数量。

1.先绘制基础的散点图;
##二维直方图
# Library
library(tidyverse)
library(ggplot2)

# 读取数据
a <- data.frame( x=rnorm(20000, 10, 1.9), y=rnorm(20000, 10, 1.2) )
b <- data.frame( x=rnorm(20000, 14.5, 1.9), y=rnorm(20000, 14.5, 1.9) )
c <- data.frame( x=rnorm(20000, 9.5, 1.9), y=rnorm(20000, 15.5, 1.9) )
data <- rbind(a,b,c)

#绘制基础的散点图
ggplot(data, aes(x=x, y=y) ) +
  geom_point()

https://img-blog.csdnimg.cn/20210510100020717.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaWZhbmJpbw==,size_16,color_FFFFFF,t_70

2.绘制二维直方图。
####二维直方图可使用geom_bin2d()函数绘制
#二维直方图默认选项
ggplot(data, aes(x=x, y=y) ) +
  geom_bin2d() +
  theme_bw()

# Bin大小控制与调色板
ggplot(data, aes(x=x, y=y) ) +
  geom_bin2d(bins = 70) +
  scale_fill_continuous(type = "viridis") +
  theme_bw()
https://img-blog.csdnimg.cn/20210510100038870.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaWZhbmJpbw==,size_16,color_FFFFFF,t_70

R语言|绘制Hexbin图当显示大型数据集时,散点图很难解释,因为点不可避免地会被覆盖,并且可能不被单独识别出来。hexbin图中将地块划分为多个六边形,图中阴影部分代替了条形图的高度。图形是通过R的hexbin包绘制的。
# Packages
library(hexbin)
library(RColorBrewer)

# Create data
x <- rnorm(mean=1.5, 5000)
y <- rnorm(mean=1.6, 5000)

# Make the plot
bin<-hexbin(x, y, xbins=40)
my_colors=colorRampPalette(rev(brewer.pal(11,'Spectral')))
plot(bin, main="" , colramp=my_colors , legend=F )
https://img-blog.csdnimg.cn/20210510100106401.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaWZhbmJpbw==,size_16,color_FFFFFF,t_70


页: [1]
查看完整版本: R语言绘制二维密度图