- 在线时间
- 514 小时
- 最后登录
- 2023-12-1
- 注册时间
- 2018-7-17
- 听众数
- 15
- 收听数
- 0
- 能力
- 0 分
- 体力
- 40245 点
- 威望
- 0 点
- 阅读权限
- 255
- 积分
- 12785
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1419
- 主题
- 1178
- 精华
- 0
- 分享
- 0
- 好友
- 15
TA的每日心情 | 开心 2023-7-31 10:17 |
|---|
签到天数: 198 天 [LV.7]常住居民III
- 自我介绍
- 数学中国浅夏
 |
R语言绘制二维密度图二维密度图显示了两个数值变量之间的关系,一个在x轴上表示,另一个在Y轴上表示,与散点图类似,然后计算二维空间中特定区域内的观测数,并用颜色梯度表示。二维密度图有几种类型,以下主要展示二维直方图和Hexbin图的绘图代码。" [7 v. T4 {2 x5 [
$ l, p3 t% [7 {2 rR语言|绘制二维直方图
" l1 J+ X( d% t" I* c: n, ?( G对于2d直方图,plot区域被划分为多个正方形,调用geombin2d()函数,它提供了一个bins参数,用于控制要显示的bins数量。" p8 \8 C' G# o
8 C1 z9 D$ U9 |( z% c* x- z
1.先绘制基础的散点图;$ U" D& w6 u" ~0 _
##二维直方图
' D5 S; z7 z! C8 e; p# Library
, a) E0 F! r4 p8 g4 O5 _library(tidyverse)" `7 h. O' |- }! _& P- n0 w
library(ggplot2)
# @0 E/ d0 R6 g* |- v7 \2 `* x( _( Z9 h/ a) @6 N* | q
# 读取数据' Q6 O' j0 D. @% w* A
a <- data.frame( x=rnorm(20000, 10, 1.9), y=rnorm(20000, 10, 1.2) )+ h z3 R+ ~4 N' W
b <- data.frame( x=rnorm(20000, 14.5, 1.9), y=rnorm(20000, 14.5, 1.9) )
% b' @! P2 v' l$ W4 P" `% zc <- data.frame( x=rnorm(20000, 9.5, 1.9), y=rnorm(20000, 15.5, 1.9) )
* r" w; x/ O$ fdata <- rbind(a,b,c)
- w0 C) V1 b! A6 b) u& E o; h1 [+ p4 e
#绘制基础的散点图
' v+ a) l* [* Q8 Z1 @* y1 W: p4 jggplot(data, aes(x=x, y=y) ) +
( x. U5 q1 N' t2 q7 J" ]2 M5 r geom_point()
: N0 \& q" Y. K
4 y/ Z: K& i0 d4 N4 Q Y3 g ?![]()
* b6 Q' X' _( P" @- X. h" ?
* V$ m* e. o6 u* P2.绘制二维直方图。2 s- t5 f" B. E! l% [( X7 [' w
####二维直方图可使用geom_bin2d()函数绘制
/ b2 f; `6 h/ {: I/ m#二维直方图默认选项
" j# A2 q) X, Q4 b) m8 W! Vggplot(data, aes(x=x, y=y) ) +
! d2 _8 s* m8 h* C: X geom_bin2d() +) n4 w0 [! _9 A" V
theme_bw()
" x8 x% Z' d& o& ~' w0 w) J( `1 d6 |
# Bin大小控制与调色板- T5 P" f) s* g3 v
ggplot(data, aes(x=x, y=y) ) +" j$ v( g d1 N9 D% m/ q% v( R
geom_bin2d(bins = 70) +' k+ f8 I+ u* |1 t2 r
scale_fill_continuous(type = "viridis") +. R, s0 }1 \2 A: V R7 y' B2 c1 ^3 h
theme_bw()
?. f% L6 w9 \# }7 h4 g _7 ` ( H1 a5 G: s4 g
) N. |# L1 M6 M6 ?9 o. m( c3 N
R语言|绘制Hexbin图 当显示大型数据集时,散点图很难解释,因为点不可避免地会被覆盖,并且可能不被单独识别出来。hexbin图中将地块划分为多个六边形,图中阴影部分代替了条形图的高度。图形是通过R的hexbin包绘制的。 - ^% M7 Y" s5 }. I1 a& i. p! h) y
# Packages
3 Q$ w+ j( b/ S' B1 |1 s" G+ |: Plibrary(hexbin): K2 P4 C* [" O5 T( m
library(RColorBrewer) ( c2 @& M7 w; C9 ]
* f) o, T5 V4 ?' \4 v z8 [* }
# Create data# y/ B2 D# I# I* _
x <- rnorm(mean=1.5, 5000)
5 J) B' F) o* I: r# y. l3 ty <- rnorm(mean=1.6, 5000)
# [2 z+ | [( I( i9 M9 q1 ~+ `* [6 U8 s- ~/ N. c1 n+ f
# Make the plot5 m/ w7 a$ s0 \1 \" w
bin<-hexbin(x, y, xbins=40)
9 o+ U/ m0 X. _, {5 n) Cmy_colors=colorRampPalette(rev(brewer.pal(11,'Spectral')))
0 G$ ?( I5 Y+ h% q0 b6 G# Oplot(bin, main="" , colramp=my_colors , legend=F ) 6 E: s* P# x* @( w) \
/ ^ y: V/ ~* S
# I6 p/ j& s3 Q; K0 B6 I) Z
2 X: X6 f# d( Z) I& y/ C, J |
zan
|