阅读 57

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()
image.png

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()
image.png

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 ) 
image.png

“作图帮”公众号免费分享绘图代码与实验数据~

作者:维凡生物

原文链接:https://www.jianshu.com/p/befbf41a7ee0

文章分类
后端
文章标签
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐