关于为具有大尺寸的随机矩阵生成图像

时间:2012-10-23 20:01:25

标签: r

我有一个矩阵,其条目可以是-1,0或1.我试图使用颜色来区分这些不同的值,因为它们中的大多数都是0.我使用以下代码

 x<-y<-seq(1:10)
 xcolor<-c("purple3", "green" , "red")
 image(x,y,DiffMatrix,col=xcolor)

为了便于说明,DiffMatrix是10 * 10矩阵,

  

[1,] 1 0 0 0 0 1 1 -1 0 0

     

[2,] 1 0 0 0 -1 1 1 1 0 0

     

[3,] 1 0 0 0 0 1 0 0 0 0

     

[4,] 1 0 0 0 0 1 0 0 0 0

     

[5,] 1 0 0 0 0 0 0 0 0 0

     

[6,] 1 0 0 0 -1 1 0 1 0 0

     

[7,] 1 0 0 0 0 0 0 0 0 0

     

[8,] 1 0 1 0 0 1 0 0 0 0

     

[9,] 1 0 0 0 0 0 0 0 0 0

     

[10,] 0 0 0 0 0 0 0 0 0 0

生成的图像是

enter image description here

我的问题是,如果矩阵变得非常大,如2000 * 3000。使用上述方法生成的图形的分辨率将非常低。是否有任何图形方法来显示这些不同值的分布:我想看看矩阵中出现了多少“1”,哪些位置与“1”相关联;哪些职位与“0”等相关联。

1 个答案:

答案 0 :(得分:0)

如果您的密度相对较高,请考虑绘制points并为您的值指定部分透明的颜色。这样,例如,在有很多“1”的情况下,这些点会重叠并使图像变暗。

分配这些颜色的最简单方法,一旦你习惯它:-),就是用十六进制设置颜色:some_color<- #0F66F088,其中前三对识别RGB的强度,最后一对确定透明度。 StackOverflow存档中有几个例子,但我忘记了: - (