- 在线时间
- 514 小时
- 最后登录
- 2023-12-1
- 注册时间
- 2018-7-17
- 听众数
- 15
- 收听数
- 0
- 能力
- 0 分
- 体力
- 40345 点
- 威望
- 0 点
- 阅读权限
- 255
- 积分
- 12815
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1419
- 主题
- 1178
- 精华
- 0
- 分享
- 0
- 好友
- 15
TA的每日心情 | 开心 2023-7-31 10:17 |
|---|
签到天数: 198 天 [LV.7]常住居民III
- 自我介绍
- 数学中国浅夏
 |
R语言绘制二维密度图二维密度图显示了两个数值变量之间的关系,一个在x轴上表示,另一个在Y轴上表示,与散点图类似,然后计算二维空间中特定区域内的观测数,并用颜色梯度表示。二维密度图有几种类型,以下主要展示二维直方图和Hexbin图的绘图代码。- k4 l; }4 Y6 n, b4 A+ u
( k6 v2 W# @! v) U6 D$ e- KR语言|绘制二维直方图2 ~7 A1 I1 a' V
对于2d直方图,plot区域被划分为多个正方形,调用geombin2d()函数,它提供了一个bins参数,用于控制要显示的bins数量。 j6 h0 D5 Z# [8 z! g; r" P
) T4 }" f% j$ |1 p% {1.先绘制基础的散点图;
5 Z3 A* o3 \5 k0 k##二维直方图5 d* c2 G/ X, T
# Library
& q/ y+ |* D9 zlibrary(tidyverse)1 H3 }/ F4 n3 Q9 p( {1 m
library(ggplot2)9 S2 ]' b: Q% G" ^
8 z- q) U" v; p, C, g0 C
# 读取数据/ ]8 c5 {. a! Z: |, u6 G
a <- data.frame( x=rnorm(20000, 10, 1.9), y=rnorm(20000, 10, 1.2) )+ ~$ ~- I% n4 c0 B+ X1 d# r* J) c
b <- data.frame( x=rnorm(20000, 14.5, 1.9), y=rnorm(20000, 14.5, 1.9) )
2 P' K+ S: l2 k' jc <- data.frame( x=rnorm(20000, 9.5, 1.9), y=rnorm(20000, 15.5, 1.9) )
# a- e8 y7 `& l5 H$ F% udata <- rbind(a,b,c)& P" G5 B' q! t( w5 t
$ C, e' S# p. n) }( ~! @5 B4 e
#绘制基础的散点图; @% Q& l! e, I1 r7 g
ggplot(data, aes(x=x, y=y) ) +
# h4 v+ ^, C( d+ M6 G& r geom_point()
6 y* U1 p6 o& r' O/ P# S
" |9 W% W# B# a& q$ w5 p 1 l9 t3 S* v! b; I* o( r
6 R, o% S9 q0 m4 A2 B* h7 G2.绘制二维直方图。
# z+ n c' k7 f7 A1 K2 _$ O3 }####二维直方图可使用geom_bin2d()函数绘制
4 ^. J. R- R2 a# Y# b" E#二维直方图默认选项
! j+ ]4 Q7 E6 Iggplot(data, aes(x=x, y=y) ) +
7 ]1 P" Y0 Y) ~) A- }; B geom_bin2d() +* n" e. ^% Z9 F! A9 P I5 m
theme_bw()4 i; l0 e' S5 w/ t) h
0 E- O2 G2 U8 t4 l( [
# Bin大小控制与调色板0 b! t% x5 h% @2 b# s! h& p
ggplot(data, aes(x=x, y=y) ) +3 J2 {8 x$ }& E
geom_bin2d(bins = 70) +# T" F3 |$ i6 L) L, P& p* o: ^
scale_fill_continuous(type = "viridis") +
' c1 `7 u! k4 j theme_bw()
2 p. k, K6 a' ?! B3 y ?/ M . T% {5 p K8 S* i
( r7 d9 z* z/ @0 w& Q, k% OR语言|绘制Hexbin图 当显示大型数据集时,散点图很难解释,因为点不可避免地会被覆盖,并且可能不被单独识别出来。hexbin图中将地块划分为多个六边形,图中阴影部分代替了条形图的高度。图形是通过R的hexbin包绘制的。 & T0 ]+ \( M" Q% h- j) W! U
# Packages
7 ~6 |6 S6 a) jlibrary(hexbin)
7 D3 c# Q9 @6 J$ {7 olibrary(RColorBrewer) 8 q& Y0 v% D q6 S7 d7 w8 s
- V l( t1 B9 r. W1 U
# Create data" L( Y( F8 L# s; C5 C8 @
x <- rnorm(mean=1.5, 5000)
% }, i+ N# c, My <- rnorm(mean=1.6, 5000) 2 _/ L1 z+ c k
4 _% O# r* f: Z6 V% ?
# Make the plot8 q2 r8 @5 Y1 p6 T
bin<-hexbin(x, y, xbins=40)
7 E9 w" v6 O7 ?2 Zmy_colors=colorRampPalette(rev(brewer.pal(11,'Spectral')))% A {, l; }% }& a
plot(bin, main="" , colramp=my_colors , legend=F ) % o9 }- m+ d# h6 Y
![]()
- V4 P9 g5 _5 t3 h: I0 R$ I% b8 K h( q" \8 o
- U' ~$ n, C( c8 S5 D
|
zan
|