QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3543|回复: 0
打印 上一主题 下一主题

R语言绘制二维密度图

[复制链接]
字体大小: 正常 放大

1178

主题

15

听众

1万

积分

  • TA的每日心情
    开心
    2023-7-31 10:17
  • 签到天数: 198 天

    [LV.7]常住居民III

    自我介绍
    数学中国浅夏
    跳转到指定楼层
    1#
    发表于 2021-10-29 10:55 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    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 p1 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% O

    R语言|绘制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
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2026-10-23 04:35 , Processed in 0.313632 second(s), 51 queries .

    回顶部