- 在线时间
- 514 小时
- 最后登录
- 2023-12-1
- 注册时间
- 2018-7-17
- 听众数
- 15
- 收听数
- 0
- 能力
- 0 分
- 体力
- 40102 点
- 威望
- 0 点
- 阅读权限
- 255
- 积分
- 12742
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1419
- 主题
- 1178
- 精华
- 0
- 分享
- 0
- 好友
- 15
TA的每日心情 | 开心 2023-7-31 10:17 |
---|
签到天数: 198 天 [LV.7]常住居民III
- 自我介绍
- 数学中国浅夏
 |
R语言绘制二维密度图二维密度图显示了两个数值变量之间的关系,一个在x轴上表示,另一个在Y轴上表示,与散点图类似,然后计算二维空间中特定区域内的观测数,并用颜色梯度表示。二维密度图有几种类型,以下主要展示二维直方图和Hexbin图的绘图代码。
) s$ _3 u5 {$ Y( N2 ?; u3 H' G6 `' {5 }
R语言|绘制二维直方图
# c+ n( }! _- B6 c3 j" H1 T对于2d直方图,plot区域被划分为多个正方形,调用geombin2d()函数,它提供了一个bins参数,用于控制要显示的bins数量。
@7 c: E+ d" W" [7 F& ~/ u3 \0 D( r* Z/ M' y8 t8 p
1.先绘制基础的散点图;1 q% i7 W7 W1 @3 ^3 p7 Q; Q! C) ^
##二维直方图
6 {9 `' b0 P* ^7 H; I, w# Library
, c( g! G" z/ S. j% Qlibrary(tidyverse)
+ v9 m `$ g' U, r' v$ ^( ~% nlibrary(ggplot2)
5 D/ e+ `$ e! F0 w* d3 n
4 D% A; L: d' r9 @- L4 a# 读取数据
) x6 V1 z, s, Da <- data.frame( x=rnorm(20000, 10, 1.9), y=rnorm(20000, 10, 1.2) )5 E' q( Q. M4 o+ J7 M
b <- data.frame( x=rnorm(20000, 14.5, 1.9), y=rnorm(20000, 14.5, 1.9) )
: q9 J3 T* `, `1 |- g# Yc <- data.frame( x=rnorm(20000, 9.5, 1.9), y=rnorm(20000, 15.5, 1.9) ); C3 {. v" T) z
data <- rbind(a,b,c)
4 n" F2 x0 O& F% n; T
1 E( L( d9 k) X. k( P# Z#绘制基础的散点图* ^9 q: y6 h! U
ggplot(data, aes(x=x, y=y) ) +* e, \ c, z! Y J# d1 n" M# W
geom_point()
4 p' |2 Z/ g9 w8 x2 o1 @
- L0 B5 \' g6 _/ s![]()
* C" x$ C" T% z1 F; n
% l4 H, c* Y0 U* K# `; A2.绘制二维直方图。2 x# s( x3 y# v. w
####二维直方图可使用geom_bin2d()函数绘制
2 }% @- z+ q( S: U#二维直方图默认选项2 O5 L, J) i% A1 n$ U' k, J a
ggplot(data, aes(x=x, y=y) ) +
, C) L# W" b* u- Z geom_bin2d() +
5 y: K1 G' \" Z2 Q theme_bw()
8 z4 C% f5 ?0 \9 \/ Y; m R! @4 y" g* y9 U
# Bin大小控制与调色板
) q7 M2 U5 a% @% S( _2 C/ h- oggplot(data, aes(x=x, y=y) ) +
+ I% }: [% t3 G) H( R geom_bin2d(bins = 70) +1 _$ d! u F( A, c8 V5 B9 W6 J
scale_fill_continuous(type = "viridis") +
8 P& |9 l! u& p5 ?, W theme_bw()
1 W2 L, z3 N- f( C( w % w) z1 L: S$ U
) {/ B! R# D$ ^: tR语言|绘制Hexbin图 当显示大型数据集时,散点图很难解释,因为点不可避免地会被覆盖,并且可能不被单独识别出来。hexbin图中将地块划分为多个六边形,图中阴影部分代替了条形图的高度。图形是通过R的hexbin包绘制的。
. n% H- b4 I7 c2 l0 k2 Q! D; u4 H8 i# Packages
# m- l! x$ E/ ~6 J. s2 Xlibrary(hexbin)
; t7 |: H. j6 u: l5 j9 N3 B2 ulibrary(RColorBrewer)
& M# ]/ n, r- V
! R* ~6 [+ K! I# Create data+ ?/ R: q! B7 E
x <- rnorm(mean=1.5, 5000)
2 J+ _3 [' ?2 @* @- E& wy <- rnorm(mean=1.6, 5000)
2 W. S0 ]7 o+ L$ D p. g3 N5 ?/ v/ {! O. q
# Make the plot# J) D2 Y: W2 B& q& r- s/ J* H( a3 Y
bin<-hexbin(x, y, xbins=40)1 R5 i9 x o. N* n; S0 \2 g
my_colors=colorRampPalette(rev(brewer.pal(11,'Spectral')))
' D3 @# ?1 R) K) M% Y0 Gplot(bin, main="" , colramp=my_colors , legend=F ) . ~0 y: C5 A: A+ e3 ?) a/ G; ~4 F
' Z( A+ U2 X: o/ M- I& Z9 ]! d
( O4 ~8 B' S0 R' m0 y" I: i% m( ~4 H9 m. F: a P; D7 s
|
zan
|