- 在线时间
- 514 小时
- 最后登录
- 2023-12-1
- 注册时间
- 2018-7-17
- 听众数
- 15
- 收听数
- 0
- 能力
- 0 分
- 体力
- 40029 点
- 威望
- 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图的绘图代码。
7 x" o( `' w4 g. S0 W- n. V) F" B0 s0 q6 A4 v! f6 \4 ^
R语言|绘制二维直方图" E1 e8 }% ]/ |# Y* s7 ?7 H
对于2d直方图,plot区域被划分为多个正方形,调用geombin2d()函数,它提供了一个bins参数,用于控制要显示的bins数量。
/ I* v; Z5 r! e" o2 p! P' r8 t3 H( M/ Q' @5 d
1.先绘制基础的散点图;' e+ ~0 `) G) J5 w0 ]3 O
##二维直方图
1 f2 I" a" n/ M) n% ~3 U, p9 j7 Y# Library
4 m/ D* Z8 N' o6 Jlibrary(tidyverse)# B) J, V- l* f
library(ggplot2)$ F( [) a/ W2 I5 v# l2 r* |
/ ^. K9 B( }: h8 J5 E# 读取数据4 w: ?9 E, G& L( o7 ?- L$ `1 ~
a <- data.frame( x=rnorm(20000, 10, 1.9), y=rnorm(20000, 10, 1.2) )1 }6 v p7 H0 a' z
b <- data.frame( x=rnorm(20000, 14.5, 1.9), y=rnorm(20000, 14.5, 1.9) ); s& r% n: {' `) U% W
c <- data.frame( x=rnorm(20000, 9.5, 1.9), y=rnorm(20000, 15.5, 1.9) )) I( q/ B$ x1 ^) `8 `. K
data <- rbind(a,b,c)+ f8 b7 Q+ I4 M; l
, D. C7 T# [+ t- {2 c
#绘制基础的散点图
+ `# Y) b! N/ i8 ]4 K; Nggplot(data, aes(x=x, y=y) ) +
4 J a. O. b x7 s2 e% ]# b geom_point()
5 N" `7 U; o! ^0 O$ d( A( X4 s. c& {: P* ^. c
6 t7 _3 g% L9 c% e
8 @5 H( H: E! l1 r9 F0 W
2.绘制二维直方图。
: M" G' g" ]( I7 Z% o; B$ k, f+ Y####二维直方图可使用geom_bin2d()函数绘制2 J+ g* [1 S! L0 B8 {! T
#二维直方图默认选项
, B' d0 V! {6 F, e5 E" j g" kggplot(data, aes(x=x, y=y) ) +
8 \9 r; j' c1 A9 u geom_bin2d() +
$ c e: C$ G5 y1 Q, L" | theme_bw()
! t- q ~9 b: u* w6 M# M
. M% k1 R' E, T4 z6 s: @2 d# Bin大小控制与调色板
9 X+ ~+ B% V+ b* Yggplot(data, aes(x=x, y=y) ) +" r# J4 N2 V* Q4 I8 {7 h" _: I
geom_bin2d(bins = 70) ++ { ^4 K7 v/ z5 \3 R% X9 o* b
scale_fill_continuous(type = "viridis") + m4 e" x! r5 \8 s" ~
theme_bw()
: c! Z9 N8 G! w l ' g) }& q8 U# v" z
q L6 ^5 r; C% L& `0 g
R语言|绘制Hexbin图 当显示大型数据集时,散点图很难解释,因为点不可避免地会被覆盖,并且可能不被单独识别出来。hexbin图中将地块划分为多个六边形,图中阴影部分代替了条形图的高度。图形是通过R的hexbin包绘制的。 1 D+ w a2 X L9 c7 ]
# Packages% D$ K: y( x' \& o
library(hexbin)
3 [3 H- O( Y* D4 `9 D$ I* wlibrary(RColorBrewer)
9 M2 H& S$ R2 C4 |7 T, H
4 B$ g2 S* F9 Z E, F( _' L, I# Create data
% \( ]( T+ z. P+ J9 B: dx <- rnorm(mean=1.5, 5000)& \" _3 Z8 A5 n' v: `1 v
y <- rnorm(mean=1.6, 5000) " b( K* {$ u5 h; H% Z
& _" b# L5 b8 d( S
# Make the plot
2 f" v. y7 g7 a$ Qbin<-hexbin(x, y, xbins=40)4 u* n1 s' U2 b0 A4 U; T. s6 B% _
my_colors=colorRampPalette(rev(brewer.pal(11,'Spectral')))
( j( k1 g1 K) S' B9 q; ~2 c1 _7 p1 Xplot(bin, main="" , colramp=my_colors , legend=F ) K# A3 y7 e: A1 ~' B0 i
![]()
! i$ b3 ?# ~! E/ Q. R) Q; V$ k! U# x
0 z3 z& o6 f* R0 w+ `. Q) P
|
zan
|