- 在线时间
- 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图的绘图代码。" U9 p1 M0 g! J6 m# X% i. L
; U( O: G5 \) f& C
R语言|绘制二维直方图 `4 u/ y# k* S
对于2d直方图,plot区域被划分为多个正方形,调用geombin2d()函数,它提供了一个bins参数,用于控制要显示的bins数量。
, U! N1 J( H; @( G8 ~# |9 Y8 A
$ K- s) d- r: ^; U( \8 K1.先绘制基础的散点图;
7 {2 l7 d1 B, Q4 m) V% W##二维直方图
5 k$ G4 L1 n. ]* y# Library" x1 z* Z4 b: n. [7 X- r1 w$ y
library(tidyverse)8 D: ^. ^) O- C
library(ggplot2)
; C$ v2 m( T; p1 Q9 Q$ T4 O
& U( U$ k$ h2 p/ E# 读取数据
4 C2 g6 q+ N5 L) i6 Ma <- data.frame( x=rnorm(20000, 10, 1.9), y=rnorm(20000, 10, 1.2) )
2 F) W0 Y/ _' U/ [1 d2 [, Fb <- data.frame( x=rnorm(20000, 14.5, 1.9), y=rnorm(20000, 14.5, 1.9) ); Q' ?" c% R/ H, h% q: c6 o/ C
c <- data.frame( x=rnorm(20000, 9.5, 1.9), y=rnorm(20000, 15.5, 1.9) )
?* _! u( C. ?* a. d Q+ J9 [5 xdata <- rbind(a,b,c): `: C2 [6 {# {0 ~# A4 m( o
' }$ s" `6 M6 n0 B
#绘制基础的散点图. \( s# y2 `+ d
ggplot(data, aes(x=x, y=y) ) +9 V# a. w7 `4 Z+ ~. z& Q- r
geom_point()
e9 k& E$ y! ? e8 V+ {! }& @- v# E
; `* i+ D, }% h![]()
9 u4 o V" @; Q. ]4 A! M5 f7 G, [& I) E2 @( J4 v) u
2.绘制二维直方图。0 E- s- R" n1 |% U8 S' G
####二维直方图可使用geom_bin2d()函数绘制
5 h( e+ i! K. e! v6 w#二维直方图默认选项
! T6 f; Z& V$ O2 {! Y& nggplot(data, aes(x=x, y=y) ) +
4 Q; _0 F8 L. u& ^ geom_bin2d() +" m+ P$ i# W5 o3 ]1 `3 z$ {* a# c
theme_bw()
, E! M5 D- e# V* U3 J: {& |. W9 N
# Bin大小控制与调色板. v( f4 X! T& }# V3 W
ggplot(data, aes(x=x, y=y) ) +4 ^# D- T2 G1 Z6 ]
geom_bin2d(bins = 70) +/ p' o \. g! {& X+ o9 C( m
scale_fill_continuous(type = "viridis") +5 A$ I: L. d7 t) n2 b2 D+ y
theme_bw()
4 Y! r/ o! m0 |: i % L! R# m1 Q: r" F
- [2 |3 B$ K% Q9 j
R语言|绘制Hexbin图 当显示大型数据集时,散点图很难解释,因为点不可避免地会被覆盖,并且可能不被单独识别出来。hexbin图中将地块划分为多个六边形,图中阴影部分代替了条形图的高度。图形是通过R的hexbin包绘制的。
0 e% t, n0 w- ~$ q+ }# Packages1 [* j3 U2 y! ^' e; v3 ~" E! T8 @
library(hexbin)
! R: M9 r6 U) \# glibrary(RColorBrewer)
; M3 i4 n. ]2 Q: K, ~% U& O1 K. x* f" G# d( _2 A' a
# Create data
# e. \* ~( Z T, L7 I- Yx <- rnorm(mean=1.5, 5000)
' q0 \3 f" D0 ?6 ^4 t* @ vy <- rnorm(mean=1.6, 5000)
1 j* p# S+ k* w' T, a, Y- l
( Z% C+ \* R; x( A) t5 E1 q: ]$ d- F1 g K# Make the plot5 G6 b$ x; K. R
bin<-hexbin(x, y, xbins=40)
6 u- e& U* |1 y6 t- Cmy_colors=colorRampPalette(rev(brewer.pal(11,'Spectral')))
) E k( M, `- l! |( k+ y4 A# |/ Iplot(bin, main="" , colramp=my_colors , legend=F ) - U& f& p1 W1 v/ Z! T. I1 m8 x
![]()
# z4 K+ m4 a$ p' d6 \% l* }
. K R$ i- R4 C
) L, ]7 i! ?/ L; v |
zan
|