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()
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()
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://www.jianshu.com/p/befbf41a7ee0