- 在线时间
- 514 小时
- 最后登录
- 2023-12-1
- 注册时间
- 2018-7-17
- 听众数
- 15
- 收听数
- 0
- 能力
- 0 分
- 体力
- 40245 点
- 威望
- 0 点
- 阅读权限
- 255
- 积分
- 12785
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1419
- 主题
- 1178
- 精华
- 0
- 分享
- 0
- 好友
- 15
TA的每日心情 | 开心 2023-7-31 10:17 |
|---|
签到天数: 198 天 [LV.7]常住居民III
- 自我介绍
- 数学中国浅夏
 |
R语言绘制二维密度图二维密度图显示了两个数值变量之间的关系,一个在x轴上表示,另一个在Y轴上表示,与散点图类似,然后计算二维空间中特定区域内的观测数,并用颜色梯度表示。二维密度图有几种类型,以下主要展示二维直方图和Hexbin图的绘图代码。: L+ I1 \, C: a: d* B0 ]* N1 X0 \
# C" N4 D5 Y' l! V1 m8 AR语言|绘制二维直方图# y, @, P$ I8 R6 P, k5 \
对于2d直方图,plot区域被划分为多个正方形,调用geombin2d()函数,它提供了一个bins参数,用于控制要显示的bins数量。- {9 U) K3 @3 x# }! W, h
, |+ ], m0 z# n1.先绘制基础的散点图;
- v+ x9 L2 r7 P6 W: N. q, z E##二维直方图8 X8 }) h7 _+ u5 b9 R/ F: [
# Library
: j M6 e- U9 B3 e( z$ blibrary(tidyverse)
) v8 b; C$ k; K: t7 x4 t& zlibrary(ggplot2)% ? {4 _3 D8 B' ~
0 u% L. S0 L9 W7 \
# 读取数据
! L6 E7 z* T2 N% ?' wa <- data.frame( x=rnorm(20000, 10, 1.9), y=rnorm(20000, 10, 1.2) )9 V( ~4 M4 w/ S% y
b <- data.frame( x=rnorm(20000, 14.5, 1.9), y=rnorm(20000, 14.5, 1.9) ); `1 Z$ L( {7 s. _& t
c <- data.frame( x=rnorm(20000, 9.5, 1.9), y=rnorm(20000, 15.5, 1.9) ): D% ]6 T1 a- x2 T* h# K
data <- rbind(a,b,c)
7 {) F( s$ q% v9 u: X
& {: B& c9 p' k#绘制基础的散点图
) ~( g4 |* A' X, k3 y R0 Eggplot(data, aes(x=x, y=y) ) +! C3 M1 n6 D+ c) y4 E
geom_point() J: H1 H! m3 X$ f* f
; a% D7 v; E2 M& J2 q# T% [![]()
! S, ]2 B+ R, x" r1 F- X
: u0 o5 v" \/ Q, K( p2.绘制二维直方图。9 [1 N7 k( O2 w
####二维直方图可使用geom_bin2d()函数绘制9 j" t. e4 w1 n
#二维直方图默认选项+ _ f/ V1 G% O% D8 T6 a# F
ggplot(data, aes(x=x, y=y) ) +
5 c0 U. [) ^/ w geom_bin2d() +" k0 N/ e# ?1 y+ T, W
theme_bw(); ]! v. g% x$ \# h" h
* X8 ?# J) M1 O" U2 k/ Q9 U# Bin大小控制与调色板8 I" e( h# ^; y
ggplot(data, aes(x=x, y=y) ) +
7 l' m! L7 [- d+ ` geom_bin2d(bins = 70) +
; D- m, k0 \# `+ e8 h z4 ~ scale_fill_continuous(type = "viridis") +5 j% ~; ]: [' C& n2 V4 U8 s
theme_bw()' x$ p. ?* o" H7 t
![]()
4 u" [" O- Q; N
7 `3 d/ I3 r; [) X4 n7 lR语言|绘制Hexbin图 当显示大型数据集时,散点图很难解释,因为点不可避免地会被覆盖,并且可能不被单独识别出来。hexbin图中将地块划分为多个六边形,图中阴影部分代替了条形图的高度。图形是通过R的hexbin包绘制的。
2 {# J/ V3 H5 q' O$ q# Packages/ }% O0 z3 {# e7 G# n
library(hexbin)' Z8 y# }% G0 M. C. V! m1 N% z% M
library(RColorBrewer)
' B: |# ~2 G3 r, V9 [
9 A, _1 L9 q# J1 @7 D& r# Create data
( m2 W, x. u5 l1 N, n; Fx <- rnorm(mean=1.5, 5000)
0 x' |/ L/ Z% |( J8 ~. yy <- rnorm(mean=1.6, 5000)
( Q6 _. Q. O1 r) u4 W" Z; W1 l- k& ?: o& L3 A2 y
# Make the plot
; O& l8 T( {' g1 A, T G( Rbin<-hexbin(x, y, xbins=40)
3 L, Y2 T6 ]9 V Xmy_colors=colorRampPalette(rev(brewer.pal(11,'Spectral')))
/ u6 d3 {+ c& S, dplot(bin, main="" , colramp=my_colors , legend=F )
+ l( @0 O0 A7 e, y; _% _+ y* E V![]()
& ]7 j. c. A' H; H; c+ O8 L2 ?: u% W, e, w: Q; q3 m( H( d& \
1 S4 U8 m# w& m9 }( p |
zan
|