- 在线时间
- 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图的绘图代码。
7 c1 Z7 U# F$ @: g' \% m/ r( e n8 m* w w9 V
R语言|绘制二维直方图1 q' { K6 t' c; g* b
对于2d直方图,plot区域被划分为多个正方形,调用geombin2d()函数,它提供了一个bins参数,用于控制要显示的bins数量。9 T, N/ u5 D8 s0 ^) _
% c: C# }5 d# w1.先绘制基础的散点图;3 A9 I4 t0 v* D4 o4 s4 k5 d6 B
##二维直方图. E! I @" `0 G; v( W
# Library5 q9 W) I; J2 Y7 L4 s
library(tidyverse)5 R6 M4 O/ K% r3 p$ O
library(ggplot2)
, t# f, S+ ~6 Z9 F' F1 I& F* }
1 [, G0 ^5 L7 y4 Z# 读取数据
8 K5 C2 U1 ?# p8 U. i9 ]; {6 r0 [a <- data.frame( x=rnorm(20000, 10, 1.9), y=rnorm(20000, 10, 1.2) )6 Y- a) y, y. C8 C
b <- data.frame( x=rnorm(20000, 14.5, 1.9), y=rnorm(20000, 14.5, 1.9) )
' f- i' E# @! s: Y; w- fc <- data.frame( x=rnorm(20000, 9.5, 1.9), y=rnorm(20000, 15.5, 1.9) )4 ~$ B3 J) N( g
data <- rbind(a,b,c)( W! ]: o9 d, h
9 P6 t i. A# k* r: h#绘制基础的散点图
5 R u; P: g, Y& T$ vggplot(data, aes(x=x, y=y) ) +, @( z) z5 ]; Q7 u Z; I
geom_point()! s4 W: T; d) K$ U# l. K& @) J
" O" x; K! E: y0 x' ]2 e, m
' G) k& H- y5 \* l3 S
/ w! e+ b& H, \' l. {0 m6 R2.绘制二维直方图。
' D) c2 z7 T5 k! J; y( a####二维直方图可使用geom_bin2d()函数绘制7 _# Z: Q9 _6 H9 g C
#二维直方图默认选项) [1 I& Z& R( `! ^! X
ggplot(data, aes(x=x, y=y) ) +
3 Z; k K* L7 D geom_bin2d() +/ p) {2 Z# Y2 S$ v4 d( c* m9 r
theme_bw(). |3 d( q/ h3 Q9 M9 L; q
$ N0 D6 @/ [: y9 d3 G2 f% G- [# Bin大小控制与调色板3 |7 M0 I& M% b4 r7 a4 J, D
ggplot(data, aes(x=x, y=y) ) +
3 e' u5 t& M# Y } geom_bin2d(bins = 70) +
% H5 D+ F# l4 z/ L# L, q scale_fill_continuous(type = "viridis") +
, s- G5 }) d# E0 a2 q theme_bw()) W/ n9 y- A9 ~, {& E" W
![]()
2 t- _) V* Y4 n* D+ v' [- T* o2 k6 q5 z
R语言|绘制Hexbin图 当显示大型数据集时,散点图很难解释,因为点不可避免地会被覆盖,并且可能不被单独识别出来。hexbin图中将地块划分为多个六边形,图中阴影部分代替了条形图的高度。图形是通过R的hexbin包绘制的。
; c" w) \% o3 e/ o# Packages* e9 j o% B7 R- Z- Y }
library(hexbin)% f/ H8 ]; N. _& A/ S7 ~$ N
library(RColorBrewer) 9 X5 V4 w6 H0 t- B$ z
" r" |* j( ~: E: e+ R6 }
# Create data6 v# l7 v. {* r
x <- rnorm(mean=1.5, 5000)
4 A( U! i8 R* l8 \) g% by <- rnorm(mean=1.6, 5000)
! M$ _6 M5 r `! o& E2 {' y' q1 q+ B, z! t7 t6 T, x% t
# Make the plot$ Q' z0 D" h7 D0 e
bin<-hexbin(x, y, xbins=40). [0 U6 T, G4 {6 u2 H J! I7 h; K2 w+ U
my_colors=colorRampPalette(rev(brewer.pal(11,'Spectral')))
; @. P2 V( n2 n4 I! [plot(bin, main="" , colramp=my_colors , legend=F ) ! N" ~7 {: M5 K8 Y, H# s
![]()
6 d. B+ k4 s# ?2 H% r7 J4 J7 m E4 E0 R% s, W+ l5 d& K
$ Y) i8 c1 D8 G3 q' d% e
|
zan
|