将数字矩阵转换为R

时间:2015-06-04 02:53:21

标签: r matrix colors

我有以下4x4数字矩阵,其中包含数字0-4:

0  1  0  3
3  2  1  4
4  1  0  2
3  3  0  1

我想了解如何使用R将数字矩阵转换为使用所选颜色和特定方形尺寸(长度x宽度)的颜色矩阵。要清楚,我将颜色矩阵定义为使用彩色方块表示的图形矩阵方向的特定值。其他程序的示例4x4如下:

enter image description here

我必须为数字指定颜色代码,例如:

0 = FFFFFF
1 = 99FF66
2 = 66FF33
3 = 33CC00
4 = 009900

但我不知道从哪里开始把它放在一起。我想我也必须指定颜色方块的尺寸。

我的目标是能够将数据框导入到R中,最多包含10个数值,并为20x20的矩阵创建这些颜色图表。

1 个答案:

答案 0 :(得分:10)

这就是我要做的事情:

d<-read.table(text="
0  1  0  3
3  2  1  4
4  1  0  2
3  3  0  1")

cols <- c(
'0' = "#FFFFFF",
'1' = "#99FF66",
'2' = "#66FF33",
'3' = "#33CC00",
'4' = "#009900"
)
# the names aren't necessary here.

image(1:nrow(d), 1:ncol(d), as.matrix(d), col=cols)

enter image description here

如果您希望方向不同,可以rotate the matrix

image(1:nrow(d), 1:ncol(d), t(apply(d, 2, rev)), col=cols)

要摆脱所有文字和边框,您可以尝试:

image(1:nrow(d), 1:ncol(d), as.matrix(d), col=cols, 
  xaxt="n", yaxt="n", bty="n", xlab="", ylab="")