代码之家  ›  专栏  ›  技术社区  ›  frog

用R中的象函数求零和一矩阵的热图

  •  1
  • frog  · 技术社区  · 6 年前

    如何使用r中的image函数为给定的由0和1组成的矩阵绘制黑白热图,其中0用黑色表示,1用白色表示?

    1 回复  |  直到 6 年前
        1
  •  1
  •   Kamil Slowikowski    6 年前


    制作矩阵:

    set.seed(42)
    mat <- matrix(round(runif(100)), ncol = 10)
    mat
    #>       [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
    #>  [1,]    1    0    1    1    0    0    1    0    1     1
    #>  [2,]    1    1    0    1    0    0    1    0    0     0
    #>  [3,]    0    1    1    0    0    0    1    0    0     0
    #>  [4,]    1    0    1    1    1    1    1    0    1     1
    #>  [5,]    1    0    0    0    0    0    1    0    1     1
    #>  [6,]    1    1    1    1    1    1    0    1    1     1
    #>  [7,]    1    1    0    0    1    1    0    0    0     0
    #>  [8,]    0    0    1    0    1    0    1    0    0     1
    #>  [9,]    1    0    0    1    1    0    1    1    0     1
    #> [10,]    1    1    1    1    1    1    0    0    0     1
    

    绘制它:

    image(t(mat[nrow(mat):1,]), col = c("black", "white"))
    

    t() nrow(mat):1 用于重新排列矩阵,使矩阵的图像与打印矩阵匹配。