- 在线时间
- 514 小时
- 最后登录
- 2023-12-1
- 注册时间
- 2018-7-17
- 听众数
- 15
- 收听数
- 0
- 能力
- 0 分
- 体力
- 40294 点
- 威望
- 0 点
- 阅读权限
- 255
- 积分
- 12799
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1419
- 主题
- 1178
- 精华
- 0
- 分享
- 0
- 好友
- 15
TA的每日心情 | 开心 2023-7-31 10:17 |
|---|
签到天数: 198 天 [LV.7]常住居民III
- 自我介绍
- 数学中国浅夏
 |
R语言绘制二维密度图二维密度图显示了两个数值变量之间的关系,一个在x轴上表示,另一个在Y轴上表示,与散点图类似,然后计算二维空间中特定区域内的观测数,并用颜色梯度表示。二维密度图有几种类型,以下主要展示二维直方图和Hexbin图的绘图代码。
; t3 e" o5 w; f
' ^+ x! D3 P# S: }9 I* L. oR语言|绘制二维直方图: v( D. x. ~8 U" ^8 y
对于2d直方图,plot区域被划分为多个正方形,调用geombin2d()函数,它提供了一个bins参数,用于控制要显示的bins数量。" `4 U/ D6 t* e [
: L# A8 r6 n8 a D# z3 [1.先绘制基础的散点图;& h) [; F3 z' ~
##二维直方图& [/ n1 h) ^7 ^. b2 ?5 k
# Library }3 W# g( ^( m. w7 e* H8 i
library(tidyverse)- Z& [4 V( g4 y U- ~. }
library(ggplot2)
) [/ [2 q% {5 T! k q3 g; \! f! X( F5 Z+ @ T# O
# 读取数据) D( Q+ j7 ]% P1 h' s
a <- data.frame( x=rnorm(20000, 10, 1.9), y=rnorm(20000, 10, 1.2) )* K( X2 k9 t/ l
b <- data.frame( x=rnorm(20000, 14.5, 1.9), y=rnorm(20000, 14.5, 1.9) )' M5 C. U, R" ^
c <- data.frame( x=rnorm(20000, 9.5, 1.9), y=rnorm(20000, 15.5, 1.9) )7 E6 J' _0 m, S# I
data <- rbind(a,b,c)# w6 l B h7 ]# Q/ F
* I; I6 @: o1 E. v3 @( N4 O2 y$ @6 {
#绘制基础的散点图
7 c9 \' m: w2 z% Nggplot(data, aes(x=x, y=y) ) +$ Q8 e6 m. }6 W: C
geom_point()
: X" U# R; X4 p/ y8 [
/ @7 x( ~5 P* q% U, H3 ^ . M; k0 p* u& Z5 K1 u, K( t
1 a9 H6 c f/ ?0 c! _' q0 B) v2.绘制二维直方图。% [" W7 @7 M& C1 F! J6 c
####二维直方图可使用geom_bin2d()函数绘制
- Q! u4 n5 s x. [#二维直方图默认选项
. ^: |7 J; V* j6 }* W6 |$ P- lggplot(data, aes(x=x, y=y) ) +7 k2 w- j0 y8 k8 g4 \
geom_bin2d() +# I6 v' t! l+ R/ j
theme_bw()
b h# p6 @* w: A& ]1 X: ~6 S7 Q9 C& p/ E- C
# Bin大小控制与调色板
* o+ G7 T0 e: A, Lggplot(data, aes(x=x, y=y) ) +
: B4 b; @" T6 N% _$ w9 ^: I geom_bin2d(bins = 70) +6 r0 E! W3 ] ]* X( q/ b% Y9 \3 k3 j
scale_fill_continuous(type = "viridis") +, n& z) y9 {; E P4 _0 H1 ^
theme_bw()
, f, u" r/ a$ I" T* ], [) s![]()
1 H' b' c1 D4 _8 ]# y6 O3 U; f: ~ ?5 E6 r
R语言|绘制Hexbin图 当显示大型数据集时,散点图很难解释,因为点不可避免地会被覆盖,并且可能不被单独识别出来。hexbin图中将地块划分为多个六边形,图中阴影部分代替了条形图的高度。图形是通过R的hexbin包绘制的。 ' X' f/ w1 J6 e" S: Q1 k1 C
# Packages
& [ b% H7 X( c6 h. g8 ?6 m7 vlibrary(hexbin)
) i1 x( ]: y2 ~, ~/ I$ Slibrary(RColorBrewer)
3 U* ~ O% {2 l' ~0 H7 u" b. P9 g! ^4 {! v- @, w' {
# Create data) ~( X1 ^% o- o: `, b/ x' m
x <- rnorm(mean=1.5, 5000)
7 s' t: }( y. Zy <- rnorm(mean=1.6, 5000) % ?3 ^* {- x1 v5 ]) S9 R
5 a8 h4 \* f+ P) V9 M. e# Make the plot I5 r9 D" ^) m2 r# G' h
bin<-hexbin(x, y, xbins=40)
/ J0 q x+ {- Mmy_colors=colorRampPalette(rev(brewer.pal(11,'Spectral')))4 ~4 V# X. {- T0 v1 [
plot(bin, main="" , colramp=my_colors , legend=F )
; [& d q9 m# R" P Z 8 \# u; G4 B) b
, }/ M: h* b# U u) f
- W$ [+ k- e' P9 e
|
zan
|