- 在线时间
- 514 小时
- 最后登录
- 2023-12-1
- 注册时间
- 2018-7-17
- 听众数
- 15
- 收听数
- 0
- 能力
- 0 分
- 体力
- 40349 点
- 威望
- 0 点
- 阅读权限
- 255
- 积分
- 12816
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1419
- 主题
- 1178
- 精华
- 0
- 分享
- 0
- 好友
- 15
TA的每日心情 | 开心 2023-7-31 10:17 |
|---|
签到天数: 198 天 [LV.7]常住居民III
- 自我介绍
- 数学中国浅夏
 |
R语言绘制二维密度图二维密度图显示了两个数值变量之间的关系,一个在x轴上表示,另一个在Y轴上表示,与散点图类似,然后计算二维空间中特定区域内的观测数,并用颜色梯度表示。二维密度图有几种类型,以下主要展示二维直方图和Hexbin图的绘图代码。
6 Q8 c( @1 }2 K9 T# V
/ R* @, S8 K! JR语言|绘制二维直方图8 {3 q8 L; [6 R5 [+ k
对于2d直方图,plot区域被划分为多个正方形,调用geombin2d()函数,它提供了一个bins参数,用于控制要显示的bins数量。& \5 \# n4 F0 {* g: g8 N) f
1 j5 ~5 [) q! j0 ^, q' x6 S* x
1.先绘制基础的散点图;
+ |, c5 G1 U2 `##二维直方图# z+ h( [5 c) T; N" U
# Library
7 e5 `# P }* J- t2 ]library(tidyverse)
3 y$ n6 j2 t& { b6 Llibrary(ggplot2)) o: a k) y9 x/ H8 I( k
4 p y: H* T3 T. ]% {8 L
# 读取数据% K0 F6 h, t( u
a <- data.frame( x=rnorm(20000, 10, 1.9), y=rnorm(20000, 10, 1.2) )
6 ?9 w7 w( q& zb <- data.frame( x=rnorm(20000, 14.5, 1.9), y=rnorm(20000, 14.5, 1.9) )
- C5 g( P9 {( B5 C' G1 v* c* Ac <- data.frame( x=rnorm(20000, 9.5, 1.9), y=rnorm(20000, 15.5, 1.9) )9 o" y P F _% W5 v
data <- rbind(a,b,c)
. ~ @ h V5 _, K) c" M
. W4 t5 A7 O- d, a+ F' a1 g#绘制基础的散点图2 l" g6 k* Q& \7 J0 z8 l
ggplot(data, aes(x=x, y=y) ) +. _& w y$ ^ V
geom_point()" X2 G7 T& I# a6 O, X! D
4 A- e# ?6 h$ |: r! a+ K" f, \6 X![]()
. _) f! N2 ]! R" p$ ?; s/ X. ^) Q& ^8 \" J: @1 L
2.绘制二维直方图。( d( P" C# m9 ?7 a
####二维直方图可使用geom_bin2d()函数绘制
1 R7 e% i3 ^+ y#二维直方图默认选项; K- j1 Y. P) e( m# A
ggplot(data, aes(x=x, y=y) ) +
7 M' a4 v; P# ` geom_bin2d() +
: q. t m7 X7 P theme_bw()0 r/ ]6 r/ Y' [6 Q
0 J3 J1 o3 p b+ p0 K9 k# Bin大小控制与调色板- w/ r. k! Y) R+ j2 }+ [# S
ggplot(data, aes(x=x, y=y) ) +
+ l @) S5 S- H# ] geom_bin2d(bins = 70) +
* Z% u; f# E* }& R( D9 p scale_fill_continuous(type = "viridis") +
& _. U' C8 Q1 y theme_bw()1 K+ g' |* s* h R- x
![]()
, i4 v: V/ b) `" Z: f; C6 ?2 b: c! h4 K' A5 n- V% N9 X
R语言|绘制Hexbin图 当显示大型数据集时,散点图很难解释,因为点不可避免地会被覆盖,并且可能不被单独识别出来。hexbin图中将地块划分为多个六边形,图中阴影部分代替了条形图的高度。图形是通过R的hexbin包绘制的。
1 G$ A8 R6 c% S9 R# Packages
% P& P& x* ?" Xlibrary(hexbin)$ m* j, n: ]0 y2 @8 s
library(RColorBrewer)
1 o3 M: D/ x P9 q" _( m3 m1 ]6 _1 F7 g% H& n o# @& k; q% `
# Create data
( b) N. N5 h3 N2 d* M2 ]5 Kx <- rnorm(mean=1.5, 5000)! W0 x% F& L, \5 _1 u2 Z
y <- rnorm(mean=1.6, 5000) 2 P6 y& V% C! G8 l- l! ]/ S3 c
6 ]. E( P3 ^& S# Make the plot
( V% f/ |; R) h/ ~$ K, j- ?8 X* vbin<-hexbin(x, y, xbins=40)7 f3 o0 E6 Z7 k2 Q/ F9 q' D
my_colors=colorRampPalette(rev(brewer.pal(11,'Spectral')))+ v0 S4 c7 M1 I, U8 j) L4 }
plot(bin, main="" , colramp=my_colors , legend=F )
1 Y; q8 w. a- h$ ], K- q![]()
( O4 q3 ~& X% E5 P& ]( I& E- u0 [) C* D* m% k
. B$ @% t( j7 G& s8 u8 G |
zan
|