- 在线时间
- 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图的绘图代码。# G1 c3 d2 t% P1 X m
$ _( s; _- B4 N: l$ P+ [R语言|绘制二维直方图7 T/ q) a/ Y2 q4 e
对于2d直方图,plot区域被划分为多个正方形,调用geombin2d()函数,它提供了一个bins参数,用于控制要显示的bins数量。
+ I( W4 n7 {" ~8 N6 [8 x
7 C5 l* ]" E# G$ O" r. B' _1.先绘制基础的散点图;
) r, q3 Z+ y/ z6 S##二维直方图7 B9 `0 i- `% r8 ^
# Library* v. m% Q' m6 y" V8 K6 @
library(tidyverse)
2 P! G- T$ w2 K% I* Y5 u1 Elibrary(ggplot2)
) l5 c ]4 k! ?" x
2 M, Q( U# ?* ^ ?7 z- Y5 B# 读取数据
h# z& `6 C" ~) E" aa <- data.frame( x=rnorm(20000, 10, 1.9), y=rnorm(20000, 10, 1.2) )4 t2 b I7 K6 I& f3 s9 ~: P. v
b <- data.frame( x=rnorm(20000, 14.5, 1.9), y=rnorm(20000, 14.5, 1.9) )
3 K" {& ~* j- [$ [c <- data.frame( x=rnorm(20000, 9.5, 1.9), y=rnorm(20000, 15.5, 1.9) )4 x5 ]& r/ t1 L! j2 E( U& b( _
data <- rbind(a,b,c)" T8 Z8 Y( s; p
2 [% D2 B! x0 ]; \, _1 M#绘制基础的散点图
- B3 b+ u C- Y) I( B Y e5 uggplot(data, aes(x=x, y=y) ) ++ [* Q. W- T' e% \! C0 _2 c. y
geom_point()
! q9 K6 V5 z8 M% s3 ?0 y5 d5 A: ]! A$ V
* s! V1 R- U# p' h
& x6 f/ O! D" K5 A
2.绘制二维直方图。1 b6 s4 S2 s" z) K4 ]( ]
####二维直方图可使用geom_bin2d()函数绘制) x0 F- |& O6 |8 P. |
#二维直方图默认选项
) _1 z) t* v# Z: _ggplot(data, aes(x=x, y=y) ) +
9 N L; F1 F8 ? geom_bin2d() +. V. u$ ?: ]& p
theme_bw(); N+ C! D3 h- g; M/ d% e9 t5 ?% q
5 L: z. j+ L8 G6 O8 Z
# Bin大小控制与调色板
9 T) C( \- H% ~+ y! ~ggplot(data, aes(x=x, y=y) ) +
) [) w: P+ e* u- L0 k, ?' q& v( P geom_bin2d(bins = 70) +# [1 R' E5 r4 S3 t7 s3 M
scale_fill_continuous(type = "viridis") +
. e9 L' o( K, w theme_bw()# ~; m! t& W* [! j9 u: F* v
![]()
! O9 J* B' p' h" ?* u
( Y& V( ^5 m" V9 p7 Q: J# PR语言|绘制Hexbin图 当显示大型数据集时,散点图很难解释,因为点不可避免地会被覆盖,并且可能不被单独识别出来。hexbin图中将地块划分为多个六边形,图中阴影部分代替了条形图的高度。图形是通过R的hexbin包绘制的。 + Q0 ^* Q1 l* m W# O+ ?
# Packages
6 C# u* j6 X# Xlibrary(hexbin)* g0 P$ }! J$ c% Q
library(RColorBrewer) 8 c$ S: B: h0 P1 [3 F, {
7 X! z R4 X5 @! \ J: c5 g/ b# Create data$ \7 c0 D' z7 Z/ V/ }
x <- rnorm(mean=1.5, 5000)
2 z; i* S Z3 C- m3 n9 O4 @y <- rnorm(mean=1.6, 5000)
6 W0 p! ?3 y6 _/ h0 |
% G* u& {7 H5 x. _/ v- R5 C# Make the plot0 J: N5 U7 h" u& h. i: k3 X
bin<-hexbin(x, y, xbins=40)
! q2 Q0 F. }0 T8 lmy_colors=colorRampPalette(rev(brewer.pal(11,'Spectral'))): x3 G9 E! @ k7 X/ l" k
plot(bin, main="" , colramp=my_colors , legend=F )
i7 Q+ I- e6 F8 s4 k: j; s![]()
' R0 i4 C! a2 S! h G( C- M+ ^5 ]$ P% c: a
8 v4 ?* k+ l: `" \ |
zan
|