- 在线时间
- 514 小时
- 最后登录
- 2023-12-1
- 注册时间
- 2018-7-17
- 听众数
- 15
- 收听数
- 0
- 能力
- 0 分
- 体力
- 40325 点
- 威望
- 0 点
- 阅读权限
- 255
- 积分
- 12809
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1419
- 主题
- 1178
- 精华
- 0
- 分享
- 0
- 好友
- 15
TA的每日心情 | 开心 2023-7-31 10:17 |
|---|
签到天数: 198 天 [LV.7]常住居民III
- 自我介绍
- 数学中国浅夏
 |
R语言绘制二维密度图二维密度图显示了两个数值变量之间的关系,一个在x轴上表示,另一个在Y轴上表示,与散点图类似,然后计算二维空间中特定区域内的观测数,并用颜色梯度表示。二维密度图有几种类型,以下主要展示二维直方图和Hexbin图的绘图代码。0 d/ |/ T6 b" u* H/ I
) [1 \& l% w! |' ~8 Z
R语言|绘制二维直方图
+ ]* _& k( N6 ~: {对于2d直方图,plot区域被划分为多个正方形,调用geombin2d()函数,它提供了一个bins参数,用于控制要显示的bins数量。5 y+ D6 O& d) q7 X3 [
6 g5 U! ]" p, S4 ~
1.先绘制基础的散点图;& K; {3 ~# v: D% c7 z# _
##二维直方图
+ e" Y% N' w; G7 X3 `) j. ~# Library9 q/ ?# e3 j; K1 u/ u3 Z
library(tidyverse); Y! D& S. T2 ~+ C; l" ]5 z
library(ggplot2)
! E+ O6 z0 S. m D2 F6 Z. }1 I# T9 X! g
# 读取数据
! Q \7 B- N5 {, v" x+ aa <- data.frame( x=rnorm(20000, 10, 1.9), y=rnorm(20000, 10, 1.2) )
) g: ]0 S- q, a9 C ~b <- data.frame( x=rnorm(20000, 14.5, 1.9), y=rnorm(20000, 14.5, 1.9) )
3 Q( o" i& K' P8 c: _c <- data.frame( x=rnorm(20000, 9.5, 1.9), y=rnorm(20000, 15.5, 1.9) )3 c) Y) R$ Q" _
data <- rbind(a,b,c)
1 F8 }: H% e' j7 \9 ~3 ~/ @
0 l2 C7 s8 f# `- O#绘制基础的散点图
; L+ a O/ y3 ~0 }ggplot(data, aes(x=x, y=y) ) +
! |' ^1 o7 f& l, n! c O+ w" ? geom_point()
5 y \5 j/ }' e. ~& G" N6 `" E/ \9 m/ S6 B
9 B3 q* i8 Q, d) |2 G1 W O
6 N- I1 u& P, U$ f+ r2.绘制二维直方图。
( h% a- i" ^; x####二维直方图可使用geom_bin2d()函数绘制4 ~2 J$ P- {. c- u7 `. I
#二维直方图默认选项
* o: Q. U, c2 V& T& Tggplot(data, aes(x=x, y=y) ) +
! ~3 T/ B/ q+ i7 H/ h8 w geom_bin2d() + _ M+ a' R- L3 H' [; D% s. N: u
theme_bw()
8 p" f0 e5 U. D2 ?; P7 Y6 \: A7 T) I* j' a$ I* s
# Bin大小控制与调色板; e( O8 N( }& D% p0 b: J0 l
ggplot(data, aes(x=x, y=y) ) +3 Q7 \( b* q2 s) X6 ^$ [6 e
geom_bin2d(bins = 70) +/ ^0 I o9 U3 n2 @
scale_fill_continuous(type = "viridis") +
3 a5 x! \( F$ [- q theme_bw()/ j- P4 i7 W1 ~6 f! N- V
![]()
1 G: R* ^* U0 L9 E$ F: @5 i. f% l
R语言|绘制Hexbin图 当显示大型数据集时,散点图很难解释,因为点不可避免地会被覆盖,并且可能不被单独识别出来。hexbin图中将地块划分为多个六边形,图中阴影部分代替了条形图的高度。图形是通过R的hexbin包绘制的。 " V7 L9 B. U% n' z
# Packages
" g! U+ ?) H) G. S/ ?5 Clibrary(hexbin)
9 h+ ~( `4 A% |library(RColorBrewer) & N8 [+ h# `6 H
( _+ p5 j# R* i( O
# Create data2 g- R/ N/ s, }
x <- rnorm(mean=1.5, 5000)9 g2 q+ A% [2 _5 i: r& R
y <- rnorm(mean=1.6, 5000) * h1 g. d& s0 x$ {. z2 L* p6 f
5 d2 j( o1 e: ]5 S6 L1 E# Make the plot
1 j% `0 w2 K5 A' {" T/ ]2 Kbin<-hexbin(x, y, xbins=40)- F/ s- [) @5 L6 _4 v. h! G
my_colors=colorRampPalette(rev(brewer.pal(11,'Spectral')))
- h. x# v0 n; [" Tplot(bin, main="" , colramp=my_colors , legend=F )
" h5 N6 F b; Q2 C![]()
y' u+ X0 U) \; s8 H# U3 C; z, X/ ^, Y( _' q9 w+ E+ b/ {+ _
2 v) D; G& @7 @5 r: ~
|
zan
|