- 在线时间
- 514 小时
- 最后登录
- 2023-12-1
- 注册时间
- 2018-7-17
- 听众数
- 15
- 收听数
- 0
- 能力
- 0 分
- 体力
- 40030 点
- 威望
- 0 点
- 阅读权限
- 255
- 积分
- 12720
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1419
- 主题
- 1178
- 精华
- 0
- 分享
- 0
- 好友
- 15
TA的每日心情 | 开心 2023-7-31 10:17 |
---|
签到天数: 198 天 [LV.7]常住居民III
- 自我介绍
- 数学中国浅夏
 |
R语言绘制二维密度图二维密度图显示了两个数值变量之间的关系,一个在x轴上表示,另一个在Y轴上表示,与散点图类似,然后计算二维空间中特定区域内的观测数,并用颜色梯度表示。二维密度图有几种类型,以下主要展示二维直方图和Hexbin图的绘图代码。9 a: @; K5 B# ]; Z8 ^% K
6 D( M( {4 C F" P# D" c/ HR语言|绘制二维直方图
& ~8 S7 F* ^: l( g/ ~对于2d直方图,plot区域被划分为多个正方形,调用geombin2d()函数,它提供了一个bins参数,用于控制要显示的bins数量。
6 s" u: ~5 p# O. k8 |% l
& ^, b4 ^4 _2 v7 S! W+ @( r1.先绘制基础的散点图;
! ?; i6 ^8 T3 r* G- j/ g##二维直方图8 [( C: R+ o0 O: e( k6 [% F
# Library
3 D* `% n" ?) H$ n+ D, ~library(tidyverse)
: ?- w6 s* n5 N' ?library(ggplot2), y1 D) B( P6 Y" G, ?; }; ~* s' o
$ |; `, n$ _; Q! _( ~% a
# 读取数据
% {! t" [% N( S* W% T$ V# B8 ua <- data.frame( x=rnorm(20000, 10, 1.9), y=rnorm(20000, 10, 1.2) )7 z) a+ K" U: B' [9 g" D2 r u- J
b <- data.frame( x=rnorm(20000, 14.5, 1.9), y=rnorm(20000, 14.5, 1.9) )
; A' o+ d; Y- N, B& v+ N/ Ec <- data.frame( x=rnorm(20000, 9.5, 1.9), y=rnorm(20000, 15.5, 1.9) )
+ b% b( j& x6 Z0 m# {data <- rbind(a,b,c)/ H& n s; K, E& G0 S3 ^" V# V
# R+ N" x2 \* b% I9 p
#绘制基础的散点图- a% U4 |7 }+ A! ]7 C( @0 j
ggplot(data, aes(x=x, y=y) ) +
/ o1 `0 J g+ _. I geom_point()5 c& E9 {2 t) ]& m8 ?
2 l( l: i: O5 o0 e5 }/ m
% U7 s) x0 K. m, F9 _2 v
3 @! m7 q0 h, S& `$ q
2.绘制二维直方图。
0 g$ o. l, Z. \: V: y####二维直方图可使用geom_bin2d()函数绘制
$ B. n& `; u. B( Z8 |3 r+ _! ^#二维直方图默认选项; D3 X& J$ q- B) h
ggplot(data, aes(x=x, y=y) ) +6 y1 V" `1 u v
geom_bin2d() +3 c1 L/ y( k) y, h9 @: X2 I
theme_bw()6 |6 k4 {7 X% E5 F) m& o
' E0 k9 ?8 ]0 H6 p; B6 u2 T# Bin大小控制与调色板
6 x6 D) k8 h: E/ N9 M/ P+ q& i% _ggplot(data, aes(x=x, y=y) ) +
$ J. S4 z( G) u2 ~# B geom_bin2d(bins = 70) +
8 M' F' y ?& Y5 N/ A7 E scale_fill_continuous(type = "viridis") +9 f0 s" f- {- Z
theme_bw()' L4 a% b1 V) m8 Z& a# B+ ^
7 t% s1 X @7 U8 J( X* |) G/ Y4 v
9 d' |" x8 `) ~' l/ b, k: u0 R
R语言|绘制Hexbin图 当显示大型数据集时,散点图很难解释,因为点不可避免地会被覆盖,并且可能不被单独识别出来。hexbin图中将地块划分为多个六边形,图中阴影部分代替了条形图的高度。图形是通过R的hexbin包绘制的。 {/ j/ ~* a2 `7 n4 M: m
# Packages; G9 n9 g) w M8 ^. p7 A, I
library(hexbin)
$ d7 z" V" s3 c3 p7 Alibrary(RColorBrewer) 1 X! P0 t1 u* L$ E2 H
7 A! c4 v0 L, e" I/ V# Create data& k" E& r: t9 ]/ ]! b- x0 t9 k! r
x <- rnorm(mean=1.5, 5000)
1 o6 t' n" O( ~( c2 V& Zy <- rnorm(mean=1.6, 5000)
7 ?" I* Z3 i9 w9 m% ^
4 M( F- c7 R+ Y$ l- a# Make the plot
0 E* j; F% Q; n4 Obin<-hexbin(x, y, xbins=40)
' X( U$ W7 h1 q* E9 fmy_colors=colorRampPalette(rev(brewer.pal(11,'Spectral')))
7 n- p& J# }& Dplot(bin, main="" , colramp=my_colors , legend=F )
. z$ g4 Z/ M+ d# ^0 I![]()
; ^- g% o& v4 |" y( I% s3 P
* `& \2 C; S1 p& h+ b/ H1 y% Q) W2 p& Q& y g8 H4 J# F5 v
|
zan
|