- 在线时间
- 514 小时
- 最后登录
- 2023-12-1
- 注册时间
- 2018-7-17
- 听众数
- 15
- 收听数
- 0
- 能力
- 0 分
- 体力
- 40214 点
- 威望
- 0 点
- 阅读权限
- 255
- 积分
- 12775
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1419
- 主题
- 1178
- 精华
- 0
- 分享
- 0
- 好友
- 15
TA的每日心情 | 开心 2023-7-31 10:17 |
|---|
签到天数: 198 天 [LV.7]常住居民III
- 自我介绍
- 数学中国浅夏
 |
R语言绘制二维密度图二维密度图显示了两个数值变量之间的关系,一个在x轴上表示,另一个在Y轴上表示,与散点图类似,然后计算二维空间中特定区域内的观测数,并用颜色梯度表示。二维密度图有几种类型,以下主要展示二维直方图和Hexbin图的绘图代码。/ P6 H1 ]9 G/ u( A1 d M5 g
9 W7 @2 \+ @7 ]& iR语言|绘制二维直方图
0 D+ E9 }. f4 p* O Z- S对于2d直方图,plot区域被划分为多个正方形,调用geombin2d()函数,它提供了一个bins参数,用于控制要显示的bins数量。$ ], j& t7 Z1 o2 ~
7 F0 g4 P/ r1 k, i, ~6 x1.先绘制基础的散点图;
$ u0 y7 {& Y2 {##二维直方图/ B0 H0 A4 `& H& v4 N
# Library) Q. L# d6 {4 ~ m6 X2 l
library(tidyverse)4 m! Q6 m1 Q: L* k& o
library(ggplot2)
' |9 _: s9 }* }2 O6 X. n! m4 J# L. x3 ^8 ?4 c4 o3 c, T! _9 u7 T
# 读取数据
2 k5 a6 N' V+ I) k) na <- data.frame( x=rnorm(20000, 10, 1.9), y=rnorm(20000, 10, 1.2) )
8 O" j" q2 e3 V2 {/ f8 Z+ w4 \6 vb <- data.frame( x=rnorm(20000, 14.5, 1.9), y=rnorm(20000, 14.5, 1.9) )/ v0 n, ~) X. e
c <- data.frame( x=rnorm(20000, 9.5, 1.9), y=rnorm(20000, 15.5, 1.9) )
" M, i6 M' k" ?) ^, Ldata <- rbind(a,b,c)! s: c% Y* t) V/ N7 |# w j+ ^
$ i7 w9 R8 L, U: x M2 ?
#绘制基础的散点图
0 l, d* v3 }8 Y0 R* O( B, l- nggplot(data, aes(x=x, y=y) ) +
& ^/ A5 `" r s3 b5 I! b7 I geom_point()
2 _" y+ `) ?8 @ A. Z. _1 S3 c4 e5 {, E
# z. H! j, ?, b: H% p7 Q# R
( Z! j1 }# z' l1 Q1 ]% ]2.绘制二维直方图。
) g( N1 T5 H; K6 @& H X####二维直方图可使用geom_bin2d()函数绘制
3 p3 Z9 T; m4 E6 s# V5 Y- c, @3 b#二维直方图默认选项
6 w; {* O8 r) |; K0 v6 d: ]ggplot(data, aes(x=x, y=y) ) + G- V4 n: U$ v" g ]! j
geom_bin2d() +5 W# ~: a5 Q' [' ~" Y$ S; x5 }& c
theme_bw()
. }1 h$ c. I% h* ?' I: f4 p9 A) r; R5 P( _5 w1 @2 |4 F# ?
# Bin大小控制与调色板
- P/ N8 C6 W% w8 k/ j! |ggplot(data, aes(x=x, y=y) ) +' _% @7 l7 `$ E6 [' t1 J! L
geom_bin2d(bins = 70) +, x* [- Z, l8 \
scale_fill_continuous(type = "viridis") +; w1 v; f3 @5 ?, x& L L3 F' U& m
theme_bw()
1 ~5 l* ?: ^/ W& d* z! w3 g![]()
/ H; E/ u6 t9 m$ s& V4 `; a+ y; J9 \3 {0 u
R语言|绘制Hexbin图 当显示大型数据集时,散点图很难解释,因为点不可避免地会被覆盖,并且可能不被单独识别出来。hexbin图中将地块划分为多个六边形,图中阴影部分代替了条形图的高度。图形是通过R的hexbin包绘制的。
7 I, H6 a( Z! A$ q6 L1 W, C# Packages: A. o8 C4 \, y1 U' x) ? A6 K
library(hexbin)% P' u B' K9 S+ i# w# Y
library(RColorBrewer)
& m/ E3 S9 a2 [) @+ O5 G3 _; h* d: u% A
# Create data
, k4 K7 z3 ]% tx <- rnorm(mean=1.5, 5000)
2 x( S, r; x6 L5 j% u) Sy <- rnorm(mean=1.6, 5000) ! d2 ^8 q4 Z0 ^& M+ x3 r; E
( w0 |/ Z/ Q, v/ P5 r7 q0 _# ]# Make the plot
/ X# y. n0 A8 h& _bin<-hexbin(x, y, xbins=40)
4 q( g$ g: T- s+ z( i+ Tmy_colors=colorRampPalette(rev(brewer.pal(11,'Spectral'))), n$ L9 E: Q& R' @
plot(bin, main="" , colramp=my_colors , legend=F ) ; `) y/ U% C; X' t% m7 B) b
8 Q) W# V5 p( M
h& O! m1 h' ?1 l: ^9 P& ], L) `9 B
* |3 L# `: r- o( E3 H7 n |
zan
|