- 在线时间
- 514 小时
- 最后登录
- 2023-12-1
- 注册时间
- 2018-7-17
- 听众数
- 15
- 收听数
- 0
- 能力
- 0 分
- 体力
- 40356 点
- 威望
- 0 点
- 阅读权限
- 255
- 积分
- 12818
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1419
- 主题
- 1178
- 精华
- 0
- 分享
- 0
- 好友
- 15
TA的每日心情 | 开心 2023-7-31 10:17 |
|---|
签到天数: 198 天 [LV.7]常住居民III
- 自我介绍
- 数学中国浅夏
 |
R语言绘制二维密度图二维密度图显示了两个数值变量之间的关系,一个在x轴上表示,另一个在Y轴上表示,与散点图类似,然后计算二维空间中特定区域内的观测数,并用颜色梯度表示。二维密度图有几种类型,以下主要展示二维直方图和Hexbin图的绘图代码。. Q3 Q! }# |3 [5 E+ E! P
4 E* [' i0 K; O( XR语言|绘制二维直方图
6 ^6 q$ e( u5 [7 H& U对于2d直方图,plot区域被划分为多个正方形,调用geombin2d()函数,它提供了一个bins参数,用于控制要显示的bins数量。
6 x9 K9 N0 t" Y1 o( b- U$ l( i! }( w) [' I2 \
1.先绘制基础的散点图;: _* ]' U; I. h O; q$ `
##二维直方图, T" S* a+ |) |7 I8 w* r% L
# Library* `5 n6 x8 {& m* D
library(tidyverse)) N# C0 c% u8 L6 P2 e9 f
library(ggplot2)
# n O$ w |8 f' B; T0 C# y* z* ^2 a. `0 X4 H6 y; J" z9 f
# 读取数据
% m4 a8 E! }4 J& o' ~a <- data.frame( x=rnorm(20000, 10, 1.9), y=rnorm(20000, 10, 1.2) )
/ ]7 u( Y2 M' b( Ib <- data.frame( x=rnorm(20000, 14.5, 1.9), y=rnorm(20000, 14.5, 1.9) )
& K; y, l0 N" g8 \$ }2 v1 l8 ]c <- data.frame( x=rnorm(20000, 9.5, 1.9), y=rnorm(20000, 15.5, 1.9) )
& n" i# z1 M9 A/ @' I2 h0 ldata <- rbind(a,b,c). T/ M1 S4 }3 u" Q
- o. o8 w; B5 I0 k8 d
#绘制基础的散点图- g6 c: i$ x/ H r3 m$ O6 l
ggplot(data, aes(x=x, y=y) ) +
, |+ ~* K! s( y geom_point()
5 R' p) o" P: G; U% |- X9 z( c. c" [% ]0 l0 A3 P
; J! {. ?# s( D8 w; @; ]# U1 r
! M1 v# |# c% Y$ a" k2.绘制二维直方图。
; I& c, L& a: T1 T/ N####二维直方图可使用geom_bin2d()函数绘制/ a4 J' m4 }- K7 N8 B
#二维直方图默认选项
4 w) o* c+ X y1 Rggplot(data, aes(x=x, y=y) ) + J5 ?+ F% U6 X# G/ Z* N1 m5 u
geom_bin2d() +
d+ k4 `3 K* E& [) t theme_bw()6 _3 H* J& A+ P$ H& H. H. p
7 U" K. v1 t6 j5 ~) b1 f4 S# Bin大小控制与调色板
: C* t+ y& k: o4 j9 k1 U5 Nggplot(data, aes(x=x, y=y) ) ++ f: k" h; \/ n6 c( m& T7 _8 A
geom_bin2d(bins = 70) + W5 P2 ~6 o9 c/ p1 l
scale_fill_continuous(type = "viridis") +
4 D; B& a. m; Y7 x n# O" O3 d theme_bw()
* _% ?2 b4 R# e9 H2 e![]()
2 p/ R# h a5 X0 c# s9 h6 Q0 s" O, Q( S% b( o' T, ?
R语言|绘制Hexbin图 当显示大型数据集时,散点图很难解释,因为点不可避免地会被覆盖,并且可能不被单独识别出来。hexbin图中将地块划分为多个六边形,图中阴影部分代替了条形图的高度。图形是通过R的hexbin包绘制的。 8 n6 W3 h* q. |& ^7 }5 \3 h
# Packages" o) n$ U$ E4 s
library(hexbin)
' M7 f' `, Y; w% [library(RColorBrewer) 8 D3 l# b8 Q9 e. z
* c$ R5 N* s* Q6 f% R( Z0 R' j7 ~# Create data
Z7 j" P/ F0 z$ V0 \2 R% `x <- rnorm(mean=1.5, 5000)% S6 }' W: n( c5 t. K$ P
y <- rnorm(mean=1.6, 5000) 3 ?$ ]% N% W! F0 s' H* o( n5 M% j( `
8 @; D, V3 T3 f# j7 h! a
# Make the plot9 C, r( ~9 s. V6 ?9 H: e }
bin<-hexbin(x, y, xbins=40), ^5 ` R# s0 M2 j# Q
my_colors=colorRampPalette(rev(brewer.pal(11,'Spectral')))
. o7 p% s3 B& g& ~4 Oplot(bin, main="" , colramp=my_colors , legend=F )
% ?; r6 h% `- K2 c $ l: [# S8 A* G1 W
/ y0 O* b. R2 Y: e& a( X0 l
4 Y3 b' ]+ K" W% f
|
zan
|