- 在线时间
- 514 小时
- 最后登录
- 2023-12-1
- 注册时间
- 2018-7-17
- 听众数
- 15
- 收听数
- 0
- 能力
- 0 分
- 体力
- 40244 点
- 威望
- 0 点
- 阅读权限
- 255
- 积分
- 12784
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1419
- 主题
- 1178
- 精华
- 0
- 分享
- 0
- 好友
- 15
TA的每日心情 | 开心 2023-7-31 10:17 |
|---|
签到天数: 198 天 [LV.7]常住居民III
- 自我介绍
- 数学中国浅夏
 |
R语言绘制二维密度图二维密度图显示了两个数值变量之间的关系,一个在x轴上表示,另一个在Y轴上表示,与散点图类似,然后计算二维空间中特定区域内的观测数,并用颜色梯度表示。二维密度图有几种类型,以下主要展示二维直方图和Hexbin图的绘图代码。) B; V7 g9 d+ r" r$ H* l
' q9 z! q( z, C& a. C' @R语言|绘制二维直方图5 n& R3 C9 `# s' \$ ^
对于2d直方图,plot区域被划分为多个正方形,调用geombin2d()函数,它提供了一个bins参数,用于控制要显示的bins数量。- |8 K( {" M% ?' W+ ?
! H- p, D7 n/ j& Y# F1.先绘制基础的散点图;
) N9 _6 X8 }2 d4 I2 Q* _! h2 p0 E##二维直方图# o8 _/ @3 d9 p, a
# Library
/ J& A$ X1 R- J% _library(tidyverse)- s3 @/ h3 O. A, a0 n2 @
library(ggplot2)
: G$ d2 g% f c" h( m$ e5 O8 F1 J @) }* t
# 读取数据' u* a/ H5 y( X D. Z
a <- data.frame( x=rnorm(20000, 10, 1.9), y=rnorm(20000, 10, 1.2) )7 |! U/ {0 H; y* {/ e) e
b <- data.frame( x=rnorm(20000, 14.5, 1.9), y=rnorm(20000, 14.5, 1.9) )- X/ X1 G7 J+ K2 d% P: m& R8 F1 ^ ?
c <- data.frame( x=rnorm(20000, 9.5, 1.9), y=rnorm(20000, 15.5, 1.9) )
& N/ E% R# l+ {- A8 Pdata <- rbind(a,b,c)# E8 u, n+ b+ K1 B# c' N$ _
- s4 ^9 x/ R) n& @1 X
#绘制基础的散点图. ?7 w, z: T' ~
ggplot(data, aes(x=x, y=y) ) +
. h7 h* Q. E1 H geom_point()) x, t# z+ u8 i/ L8 n, H9 i
8 C9 G5 C+ q( ~4 g8 Z( W% O! b![]()
6 [& X8 P" Z# f. a# A, \2 M: Y5 p' u f8 ?2 Z+ v1 e, m
2.绘制二维直方图。
. ~% b* f/ T+ [* X& I* l8 r/ C; ?####二维直方图可使用geom_bin2d()函数绘制7 T2 ]. ]) L d: l2 m: M
#二维直方图默认选项
+ {5 a7 m% h0 p4 X9 [9 Y) r! `0 [ggplot(data, aes(x=x, y=y) ) +
- e( G- {( Y- J, c1 C) r geom_bin2d() +
+ ~ v+ A! t8 b+ c# ]; ? theme_bw()6 I |5 M$ g0 L5 n2 F G
8 p C9 }7 X0 [, M' ?+ |( G# Bin大小控制与调色板$ U8 p3 j" [" u) R/ N; K6 U
ggplot(data, aes(x=x, y=y) ) + [, }! L9 [! N8 E0 M) |5 o
geom_bin2d(bins = 70) +
4 u% P* }2 g2 W scale_fill_continuous(type = "viridis") + Q& G, u+ s& u0 R( j7 @
theme_bw(); Q: m5 v4 [; O- M# z
3 `6 n* F1 w( ~* ]( k; }( C, O
8 T. G; M O$ @6 U1 D# k
R语言|绘制Hexbin图 当显示大型数据集时,散点图很难解释,因为点不可避免地会被覆盖,并且可能不被单独识别出来。hexbin图中将地块划分为多个六边形,图中阴影部分代替了条形图的高度。图形是通过R的hexbin包绘制的。 6 y$ g$ @- T; @; D
# Packages. t9 T8 _$ B& l
library(hexbin)
0 z, ~# f5 N2 l9 w# y% F; Elibrary(RColorBrewer)
. v" J, x, n- W6 H* Y7 p4 e/ n( \/ n! y$ e% c: d6 O" L
# Create data
" n" M' _* J; a, S1 [8 x+ P4 f3 [x <- rnorm(mean=1.5, 5000)9 o# T0 ?8 n% A; ?0 K
y <- rnorm(mean=1.6, 5000)
- }/ b+ Q5 U2 R, f! h
5 K6 H* Y3 K {; @/ T: U' S# Make the plot
( M& |- `% c. ^3 l, A, K$ A2 ]bin<-hexbin(x, y, xbins=40)0 D; O0 A1 ^/ _5 g
my_colors=colorRampPalette(rev(brewer.pal(11,'Spectral')))& \1 Y& K0 b3 k- N6 ]
plot(bin, main="" , colramp=my_colors , legend=F )
; y2 A- L. y2 W: _![]()
5 i( R7 ^5 f* J8 V, B& x
& o5 a3 ^1 q7 I) U5 ^. _( d" y) m- N; p
|
zan
|