- 在线时间
- 514 小时
- 最后登录
- 2023-12-1
- 注册时间
- 2018-7-17
- 听众数
- 15
- 收听数
- 0
- 能力
- 0 分
- 体力
- 40345 点
- 威望
- 0 点
- 阅读权限
- 255
- 积分
- 12815
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1419
- 主题
- 1178
- 精华
- 0
- 分享
- 0
- 好友
- 15
TA的每日心情 | 开心 2023-7-31 10:17 |
|---|
签到天数: 198 天 [LV.7]常住居民III
- 自我介绍
- 数学中国浅夏
 |
R语言绘制二维密度图二维密度图显示了两个数值变量之间的关系,一个在x轴上表示,另一个在Y轴上表示,与散点图类似,然后计算二维空间中特定区域内的观测数,并用颜色梯度表示。二维密度图有几种类型,以下主要展示二维直方图和Hexbin图的绘图代码。
( N/ x. v4 i; B' Z. N" Y. M# a- L6 o# c# D4 w& y. K+ z2 v
R语言|绘制二维直方图$ E/ X4 j8 {0 J# n
对于2d直方图,plot区域被划分为多个正方形,调用geombin2d()函数,它提供了一个bins参数,用于控制要显示的bins数量。, u! U, n: X* T6 b
y% F, A1 J! I
1.先绘制基础的散点图;. K- P' L& p! k% Z% g) j2 g
##二维直方图 o& b- o% t: c
# Library7 X3 `* L) ?* h
library(tidyverse)* y! P) R9 G3 i) `
library(ggplot2)
5 y% l2 E' h, h; C0 _9 t
: e) U4 ^6 ~5 @' |5 |; j; R0 B) t# 读取数据. ^, @( R& q9 m" f% L( S+ `
a <- data.frame( x=rnorm(20000, 10, 1.9), y=rnorm(20000, 10, 1.2) )) z% g( `' H, A
b <- data.frame( x=rnorm(20000, 14.5, 1.9), y=rnorm(20000, 14.5, 1.9) )
+ g3 N) I) J# w" _% ]7 b! x# C. h# Qc <- data.frame( x=rnorm(20000, 9.5, 1.9), y=rnorm(20000, 15.5, 1.9) )
5 i% X1 I/ T# A9 h) Zdata <- rbind(a,b,c); ]: q; Z4 ~! {
7 Z$ v" M5 H* Z6 _- [#绘制基础的散点图) ~, U, L/ l0 r0 J
ggplot(data, aes(x=x, y=y) ) +5 ]+ z% r6 K4 K, Q+ T; {
geom_point()7 W3 o* o+ R* r# D" R. i
) }/ p, n$ e- N" |2 i0 m![]()
{! Z& E2 e( V. t! D9 K: ]/ s
2 r f1 u2 `3 B/ A7 L2.绘制二维直方图。" V" [ u6 j0 n/ W" I
####二维直方图可使用geom_bin2d()函数绘制
. j& [6 E* [& T% _. ^7 L#二维直方图默认选项: t: d1 }: n% k8 U9 b3 l. L: |7 h- r
ggplot(data, aes(x=x, y=y) ) +6 E2 L5 \8 l- o2 `0 q: \
geom_bin2d() +
. |. X' j4 l+ G0 }: `; ^" Z theme_bw()
) z; N6 w/ V* i* `
3 {* S* g4 D" w( I7 {$ k# Bin大小控制与调色板3 a" m f* v& `
ggplot(data, aes(x=x, y=y) ) +6 p5 b% H8 L! O S1 }( C9 |
geom_bin2d(bins = 70) +
A$ ]6 i# Q+ i' B7 `2 \3 J0 w scale_fill_continuous(type = "viridis") +0 p- F5 E {) V M' r$ ^
theme_bw(). D: K2 q- G( r: Q# R3 s
, R, t& y9 i" w; D+ G9 O5 u7 I
! G4 i% o+ `4 x) Y
R语言|绘制Hexbin图 当显示大型数据集时,散点图很难解释,因为点不可避免地会被覆盖,并且可能不被单独识别出来。hexbin图中将地块划分为多个六边形,图中阴影部分代替了条形图的高度。图形是通过R的hexbin包绘制的。
" w! P) ]2 |4 k6 A) j0 Z8 B+ H3 j# Packages
5 W5 x) {7 ~% [7 M# K3 olibrary(hexbin)
% O$ E3 Z$ N% }# glibrary(RColorBrewer)
$ V! q6 I5 T- `; M9 ], M1 U
2 p S. j4 y6 o% S$ L, ]# Create data
, P/ Z$ M) Y+ m, s& F+ g) Mx <- rnorm(mean=1.5, 5000)
9 m/ `. a8 ?' S! _y <- rnorm(mean=1.6, 5000)
$ e, d& v; ?7 V6 n, e0 d
) n5 ]. K0 z) F2 G1 o+ R# Make the plot" `0 a/ U; \7 e1 \8 l$ W
bin<-hexbin(x, y, xbins=40)% f/ w0 C E4 s0 V8 l
my_colors=colorRampPalette(rev(brewer.pal(11,'Spectral')))* Q3 F4 q ?/ I) P% D" c
plot(bin, main="" , colramp=my_colors , legend=F ) 8 e9 t5 Z0 ?+ i/ Y
" O3 A1 s% F6 [7 r
5 k1 w- J& d# Z* _4 x! f/ o1 T4 d7 r4 ~: o
|
zan
|