- 在线时间
- 514 小时
- 最后登录
- 2023-12-1
- 注册时间
- 2018-7-17
- 听众数
- 15
- 收听数
- 0
- 能力
- 0 分
- 体力
- 40222 点
- 威望
- 0 点
- 阅读权限
- 255
- 积分
- 12778
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1419
- 主题
- 1178
- 精华
- 0
- 分享
- 0
- 好友
- 15
TA的每日心情 | 开心 2023-7-31 10:17 |
|---|
签到天数: 198 天 [LV.7]常住居民III
- 自我介绍
- 数学中国浅夏
 |
R语言绘制二维密度图二维密度图显示了两个数值变量之间的关系,一个在x轴上表示,另一个在Y轴上表示,与散点图类似,然后计算二维空间中特定区域内的观测数,并用颜色梯度表示。二维密度图有几种类型,以下主要展示二维直方图和Hexbin图的绘图代码。
$ n1 l# n S# y# N0 o$ ]
4 |6 N6 ?7 o* }1 G# w/ gR语言|绘制二维直方图: Y. q1 o! y' q
对于2d直方图,plot区域被划分为多个正方形,调用geombin2d()函数,它提供了一个bins参数,用于控制要显示的bins数量。" v m: x; i2 |0 {
6 y. Y' e2 E; \$ v0 B$ W+ |* S1.先绘制基础的散点图;
+ s. u2 D5 w6 F, q5 y |! B S1 `- p9 l##二维直方图6 B* B4 u3 o# k
# Library
) `2 u. ]1 i, F9 c- `library(tidyverse)
7 E. _4 [) C7 mlibrary(ggplot2)
3 h- e+ H! ]3 N& T5 ?
8 G, C3 f& a/ L8 ^/ l1 t1 }# 读取数据& \. Q, x4 B9 P5 A$ J* |% Z' d9 }
a <- data.frame( x=rnorm(20000, 10, 1.9), y=rnorm(20000, 10, 1.2) )
' D4 f0 u1 n; A' O. Z, vb <- data.frame( x=rnorm(20000, 14.5, 1.9), y=rnorm(20000, 14.5, 1.9) )+ _8 M: C! r9 U/ m6 A! L
c <- data.frame( x=rnorm(20000, 9.5, 1.9), y=rnorm(20000, 15.5, 1.9) )
. T0 X. k9 f' R1 Bdata <- rbind(a,b,c)
- T: q1 M" p6 H" j7 {5 T6 A; q# d5 S% e1 l8 Y
#绘制基础的散点图$ }( o9 y" Y5 k9 Y
ggplot(data, aes(x=x, y=y) ) +
+ M% a8 ]9 p8 H& p% ?+ M8 W geom_point()5 z+ X _ u) H" _
5 e. L+ ?# Y+ s# m) }2 B# @ % N- r) V! n6 S6 L5 O& |& M0 w
, E0 E; ~7 S8 h E2.绘制二维直方图。; Y) e( \4 M ~' p
####二维直方图可使用geom_bin2d()函数绘制
5 S% H# l$ @$ W, F% _#二维直方图默认选项
0 U" ?2 J6 f$ g* ?! N6 fggplot(data, aes(x=x, y=y) ) +$ D$ B- K! {- q/ ~4 _' d" Y p0 R$ Z
geom_bin2d() +" g' d, j! y1 ^
theme_bw()
- F/ G7 t5 G, [" ^9 I9 w! M3 k$ v$ b& ]9 s; K
# Bin大小控制与调色板8 S. @ \3 A) h7 o
ggplot(data, aes(x=x, y=y) ) +' ~1 [! J+ B5 ^0 W$ G! y; ^. z5 v
geom_bin2d(bins = 70) +& d# u9 I4 G" A5 ^+ M0 l
scale_fill_continuous(type = "viridis") +! O5 ~. u$ H0 \9 i( p( ~) N
theme_bw()
4 C+ J6 _% M0 |+ x R3 T- J5 q- z( T/ w, R
! N7 p. y, {* A2 `6 W
R语言|绘制Hexbin图 当显示大型数据集时,散点图很难解释,因为点不可避免地会被覆盖,并且可能不被单独识别出来。hexbin图中将地块划分为多个六边形,图中阴影部分代替了条形图的高度。图形是通过R的hexbin包绘制的。
- C) X* z5 n0 o# Packages/ o: `! U+ M' O( q6 C1 O9 K* x
library(hexbin)
" T6 M7 N; ?9 u clibrary(RColorBrewer) $ `7 F8 R0 I7 Q& b% T
1 \; c0 {( j( l6 c# Create data
7 y6 W9 P0 F# \1 e# nx <- rnorm(mean=1.5, 5000)- M9 P k# w) E$ z
y <- rnorm(mean=1.6, 5000) . d# v0 g. | h' m: b- [
% I: s, m' |& _" \
# Make the plot3 V" M& F( ^; p
bin<-hexbin(x, y, xbins=40)
q$ o D4 j$ L2 n2 nmy_colors=colorRampPalette(rev(brewer.pal(11,'Spectral')))" Z3 H. }- h6 m7 M b8 }- H
plot(bin, main="" , colramp=my_colors , legend=F )
& E8 s' y3 ^. | T![]()
/ f g- b9 H4 b2 H, d& Q) i2 v" T* N6 v6 o
. W) \+ c3 F6 V! k: ~0 D' W4 L' t
|
zan
|