- 在线时间
- 514 小时
- 最后登录
- 2023-12-1
- 注册时间
- 2018-7-17
- 听众数
- 15
- 收听数
- 0
- 能力
- 0 分
- 体力
- 40031 点
- 威望
- 0 点
- 阅读权限
- 255
- 积分
- 12720
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1419
- 主题
- 1178
- 精华
- 0
- 分享
- 0
- 好友
- 15
TA的每日心情 | 开心 2023-7-31 10:17 |
---|
签到天数: 198 天 [LV.7]常住居民III
- 自我介绍
- 数学中国浅夏
 |
R语言绘制二维密度图二维密度图显示了两个数值变量之间的关系,一个在x轴上表示,另一个在Y轴上表示,与散点图类似,然后计算二维空间中特定区域内的观测数,并用颜色梯度表示。二维密度图有几种类型,以下主要展示二维直方图和Hexbin图的绘图代码。8 k# P4 Q! `; B7 g( ?
* U6 }7 `( D' T' V- T
R语言|绘制二维直方图
. R: G, G) E) i7 i( b对于2d直方图,plot区域被划分为多个正方形,调用geombin2d()函数,它提供了一个bins参数,用于控制要显示的bins数量。
* @( I5 W" O( R) b% j
& s9 ^" X+ _9 i) T& H6 `1.先绘制基础的散点图;
7 _! u7 y- Y6 R( w+ D##二维直方图
/ f2 \6 i: U! f8 n3 a1 i# Library
6 x$ k6 t( a+ {% ylibrary(tidyverse)
& U0 @. _4 D. i7 W1 c4 \library(ggplot2)" P$ H# T1 w. r6 A* Q
9 O7 M( m: C) k9 ~' R/ `
# 读取数据9 g+ { P ?0 ?6 @
a <- data.frame( x=rnorm(20000, 10, 1.9), y=rnorm(20000, 10, 1.2) )
6 a3 R* c! p. M3 L% mb <- data.frame( x=rnorm(20000, 14.5, 1.9), y=rnorm(20000, 14.5, 1.9) )' S' }/ d( I2 e
c <- data.frame( x=rnorm(20000, 9.5, 1.9), y=rnorm(20000, 15.5, 1.9) )
" q H: w+ w& n" U) m) y6 adata <- rbind(a,b,c)
: f6 U( g1 B5 l
1 T3 _/ R. B6 }9 _0 T0 V#绘制基础的散点图
$ C" z, O [4 e3 K7 G$ @ggplot(data, aes(x=x, y=y) ) +; \' [9 b8 t( B( Y$ T! a
geom_point()
9 G- z+ S, j; B6 y; V1 o' p6 Z
5 i2 o* g+ S r6 r. a) e![]()
# W! W2 E, L9 |! d; s
; E% `& u' D7 G7 j* N$ p2.绘制二维直方图。5 n# b+ ~# N& h& B
####二维直方图可使用geom_bin2d()函数绘制! Q' F) o D- y+ o* D
#二维直方图默认选项
" _5 E# s+ f5 w! b/ |% `. Jggplot(data, aes(x=x, y=y) ) +% E3 P$ O8 O* v: n
geom_bin2d() +
* K4 t- r: u' s4 K& o- o1 l theme_bw()
) U# F9 J3 C! M; ^9 f1 e+ M9 U! ~
" N4 l+ g2 A g3 m0 E! v5 M! t# Bin大小控制与调色板
6 b+ l& H# ^: C# B3 T& Yggplot(data, aes(x=x, y=y) ) +
6 l8 T- c( u$ `# @1 U) @% B. W geom_bin2d(bins = 70) +
( q; d" t: P' A scale_fill_continuous(type = "viridis") +; T2 M% C3 L& V+ q$ U
theme_bw()
% G6 J4 j" D0 h![]()
( s3 W2 Q7 }6 X& n$ @* [6 D
' b, Y2 F5 ?$ ~( |2 {* mR语言|绘制Hexbin图 当显示大型数据集时,散点图很难解释,因为点不可避免地会被覆盖,并且可能不被单独识别出来。hexbin图中将地块划分为多个六边形,图中阴影部分代替了条形图的高度。图形是通过R的hexbin包绘制的。
/ j- a: _4 x- a+ g. `, `# Packages5 R, l. U$ d3 k" p
library(hexbin)1 z4 X% K+ ]6 J3 z4 W, @& T
library(RColorBrewer) 3 K$ E$ h; e2 K) S
( [8 N) s2 J, l
# Create data) [# Z$ J. F" L& k$ }
x <- rnorm(mean=1.5, 5000)( W6 k# o' Q) u% T1 P! v, ? t3 n
y <- rnorm(mean=1.6, 5000)
9 N* C+ f! n: \8 p" A* L# t2 P! W
# Make the plot. l" @' y8 b5 z2 D, j! W+ Y; }
bin<-hexbin(x, y, xbins=40)" q0 Q& ]+ H0 ]8 o( w4 D
my_colors=colorRampPalette(rev(brewer.pal(11,'Spectral')))
) L6 r. R$ s! o3 t8 O( |plot(bin, main="" , colramp=my_colors , legend=F )
% g3 G) Q" t! ~' b7 r![]()
- _; p# v" k9 ]0 s8 W9 ]% ?* @
8 L. g; p# Z. g8 d j# `) `* @# I
|
zan
|