- 在线时间
- 514 小时
- 最后登录
- 2023-12-1
- 注册时间
- 2018-7-17
- 听众数
- 15
- 收听数
- 0
- 能力
- 0 分
- 体力
- 40325 点
- 威望
- 0 点
- 阅读权限
- 255
- 积分
- 12809
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1419
- 主题
- 1178
- 精华
- 0
- 分享
- 0
- 好友
- 15
TA的每日心情 | 开心 2023-7-31 10:17 |
|---|
签到天数: 198 天 [LV.7]常住居民III
- 自我介绍
- 数学中国浅夏
 |
R语言绘制二维密度图二维密度图显示了两个数值变量之间的关系,一个在x轴上表示,另一个在Y轴上表示,与散点图类似,然后计算二维空间中特定区域内的观测数,并用颜色梯度表示。二维密度图有几种类型,以下主要展示二维直方图和Hexbin图的绘图代码。$ \* o& E6 d k+ x8 `# i8 }
8 y E9 e/ N4 t( I1 G9 [% s" a) `
R语言|绘制二维直方图
, L. A% W( L; H8 \% I3 Y; i对于2d直方图,plot区域被划分为多个正方形,调用geombin2d()函数,它提供了一个bins参数,用于控制要显示的bins数量。
, |3 `3 r+ `' i- E
7 O9 m& Y0 U4 j; E/ [7 c. e! L+ C! o1.先绘制基础的散点图;
2 U: S+ j& }2 U2 O+ M' f0 T##二维直方图
; z0 r6 e; G4 i+ {% h( O: u" H- I# Library# Z8 d3 Q0 J. S: A6 D6 f' n
library(tidyverse)+ ]5 T9 w8 a- p4 _0 x* G
library(ggplot2)
& I, \% X; s, ]5 ^' Y
# y2 X* B' K, O# 读取数据 q9 K9 _) `: v) E9 v* j- i/ V
a <- data.frame( x=rnorm(20000, 10, 1.9), y=rnorm(20000, 10, 1.2) )
+ o$ Y2 b+ \" |$ X/ ]! U ^; |b <- data.frame( x=rnorm(20000, 14.5, 1.9), y=rnorm(20000, 14.5, 1.9) )
6 [# }1 t, j Q1 N; ac <- data.frame( x=rnorm(20000, 9.5, 1.9), y=rnorm(20000, 15.5, 1.9) )9 d3 ^/ i2 ^" r
data <- rbind(a,b,c)! m- n4 ~8 w8 j. z/ Q8 y: ?% X7 x9 H
8 C2 }, Q+ f- l2 C#绘制基础的散点图8 M2 b/ f0 E+ @ ~1 ~/ o3 i
ggplot(data, aes(x=x, y=y) ) +6 |% m* X$ j5 ~! Y
geom_point(). C6 i& U+ i* T: n( }" O
# ]$ Y% E" a; T " S* Z$ V" Q2 q4 m1 T
U# X) H" {' }; J; L* j ^% A
2.绘制二维直方图。
% Y5 h& e( n: b- Z! f####二维直方图可使用geom_bin2d()函数绘制
1 r! t$ ^( h) Q#二维直方图默认选项
. ~9 e$ F+ X5 _) ~ggplot(data, aes(x=x, y=y) ) ++ D7 ^# E7 Q1 ]$ {
geom_bin2d() +
' v/ ?8 e, E5 C- q theme_bw()% I' }5 o9 `; `
* C$ Y% C7 h) n
# Bin大小控制与调色板( n% @* m) K$ {0 t0 d
ggplot(data, aes(x=x, y=y) ) +
/ P0 _/ h8 c+ ^' r geom_bin2d(bins = 70) +% J7 y; g. z- E% i
scale_fill_continuous(type = "viridis") +& h: m) k2 Z) q
theme_bw()
9 j6 L$ ~0 X7 J; ] V; X/ v+ x# } 4 S3 S7 \3 s3 H$ p
% a' }% G1 V2 x& P9 R0 R
R语言|绘制Hexbin图 当显示大型数据集时,散点图很难解释,因为点不可避免地会被覆盖,并且可能不被单独识别出来。hexbin图中将地块划分为多个六边形,图中阴影部分代替了条形图的高度。图形是通过R的hexbin包绘制的。
! ^! k6 W0 M6 \1 \# Packages8 R ?# j2 G% p7 s
library(hexbin)
/ p0 E; I4 l7 p0 elibrary(RColorBrewer)
6 r# n$ T0 B, X3 V; ]% v) j; c0 i/ i' ^
% R0 d' }3 |) S# Create data& Y# z7 I2 G) P; U
x <- rnorm(mean=1.5, 5000)
( H! N. A% L# a4 Oy <- rnorm(mean=1.6, 5000)
7 R7 ~6 k6 y2 J7 N/ _5 i$ Z$ m" P
$ Z/ D. W) [) I% k# Make the plot
. P) K* K! Y" a. @- ybin<-hexbin(x, y, xbins=40)
! x5 }9 C# \$ _: r hmy_colors=colorRampPalette(rev(brewer.pal(11,'Spectral')))9 B* p& ?% S) Y l. v7 C+ O
plot(bin, main="" , colramp=my_colors , legend=F )
4 V7 N) O% N6 M' r& ^- _! v6 M![]()
+ i- H4 @3 l5 H3 f7 n' {
0 Y& ?7 \( S9 I. h0 D2 a
3 S7 D$ F6 S8 \& E) U5 u" j |
zan
|